java - hibernate exception during commit -


we using spring 2.5.6 , hibernate comes it.

as part of our architecture, have service , manager. service calls manager provide unit of work. place aop interceptor around manager manage transaction.

in our case, manager creating image , note links image person, returning service. these brand new functions.

when run following stack trace:

2013-07-11 08:06:52,969 3773870 error org.hibernate.event.def.abstractflushingeventlistener | not synchronize database state session org.hibernate.exception.sqlgrammarexception: not execute jdbc batch update         @ org.hibernate.exception.sqlstateconverter.convert(sqlstateconverter.java:90)         @ org.hibernate.exception.jdbcexceptionhelper.convert(jdbcexceptionhelper.java:66)         @ org.hibernate.jdbc.abstractbatcher.executebatch(abstractbatcher.java:275)         @ org.hibernate.engine.actionqueue.executeactions(actionqueue.java:266)         @ org.hibernate.engine.actionqueue.executeactions(actionqueue.java:167)         @ org.hibernate.event.def.abstractflushingeventlistener.performexecutions(abstractflushingeventlistener.java:321)         @ org.hibernate.event.def.defaultflusheventlistener.onflush(defaultflusheventlistener.java:50)         @ org.hibernate.impl.sessionimpl.flush(sessionimpl.java:1027)         @ org.hibernate.impl.sessionimpl.managedflush(sessionimpl.java:365)         @ org.hibernate.transaction.jdbctransaction.commit(jdbctransaction.java:137)         @ org.springframework.orm.hibernate3.hibernatetransactionmanager.docommit(hibernatetransactionmanager.java:655)         @ org.springframework.transaction.support.abstractplatformtransactionmanager.processcommit(abstractplatformtransactionmanager.java:732)         @ org.springframework.transaction.support.abstractplatformtransactionmanager.commit(abstractplatformtransactionmanager.java:701)         @ org.springframework.transaction.interceptor.transactionaspectsupport.committransactionafterreturning(transactionaspectsupport.java:321)         @ org.springframework.transaction.interceptor.transactioninterceptor.invoke(transactioninterceptor.java:116)         @ org.springframework.aop.framework.reflectivemethodinvocation.proceed(reflectivemethodinvocation.java:171)         @ org.springframework.aop.interceptor.exposeinvocationinterceptor.invoke(exposeinvocationinterceptor.java:89)         @ org.springframework.aop.framework.reflectivemethodinvocation.proceed(reflectivemethodinvocation.java:171)         @ org.springframework.aop.framework.jdkdynamicaopproxy.invoke(jdkdynamicaopproxy.java:204)         @ $proxy50.attachimage(unknown source)         @ com.acs.gs.juror.service.person.impl.personserviceimpl$1.retry(personserviceimpl.java:557)         @ com.acs.gs.juror.service.service.withretry(service.java:362)         @ com.acs.gs.juror.service.person.impl.personserviceimpl.attachimage(personserviceimpl.java:562)         @ com.xerox.tclg.juror.servlet.storeimageservlet.handlerequestinternal(storeimageservlet.java:73)         @ org.springframework.web.servlet.mvc.abstractcontroller.handlerequest(abstractcontroller.java:153)         @ org.springframework.web.servlet.mvc.simplecontrollerhandleradapter.handle(simplecontrollerhandleradapter.java:48)         @ org.springframework.web.servlet.dispatcherservlet.dodispatch(dispatcherservlet.java:875)         @ org.springframework.web.servlet.dispatcherservlet.doservice(dispatcherservlet.java:807)         @ org.springframework.web.servlet.frameworkservlet.processrequest(frameworkservlet.java:571)         @ org.springframework.web.servlet.frameworkservlet.dopost(frameworkservlet.java:511)         @ javax.servlet.http.httpservlet.service(httpservlet.java:637)         @ javax.servlet.http.httpservlet.service(httpservlet.java:717)         @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:290)         @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:206)         @ org.apache.catalina.core.standardwrappervalve.invoke(standardwrappervalve.java:233)         @ org.apache.catalina.core.standardcontextvalve.invoke(standardcontextvalve.java:191)         @ org.apache.catalina.core.standardhostvalve.invoke(standardhostvalve.java:127)         @ org.apache.catalina.valves.errorreportvalve.invoke(errorreportvalve.java:103)         @ org.apache.catalina.core.standardenginevalve.invoke(standardenginevalve.java:109)         @ org.apache.catalina.connector.coyoteadapter.service(coyoteadapter.java:293)         @ org.apache.coyote.http11.http11aprprocessor.process(http11aprprocessor.java:879)         @ org.apache.coyote.http11.http11aprprotocol$http11connectionhandler.process(http11aprprotocol.java:600)         @ org.apache.tomcat.util.net.aprendpoint$worker.run(aprendpoint.java:1703)         @ java.lang.thread.run(thread.java:662) caused by: java.sql.batchupdateexception: ora-00932: inconsistent datatypes: expected number got binary         @ oracle.jdbc.driver.oraclepreparedstatement.executebatch(oraclepreparedstatement.java:10345)         @ oracle.jdbc.driver.oraclestatementwrapper.executebatch(oraclestatementwrapper.java:230)         @ org.apache.tomcat.dbcp.dbcp.delegatingstatement.executebatch(delegatingstatement.java:297)         @ org.apache.tomcat.dbcp.dbcp.delegatingstatement.executebatch(delegatingstatement.java:297)         @ org.hibernate.jdbc.batchingbatcher.doexecutebatch(batchingbatcher.java:70)         @ org.hibernate.jdbc.abstractbatcher.executebatch(abstractbatcher.java:268)         ... 41 more 

when searched on error, found lot entries queries null values. thing i've done inserts , worked fine. it's throwing exception during commit.

both image , note existing fields i've used in past. have put link on note image note may reference image.

just because of error message, i'm suspicious of image. here definition of image data field on image:

  @column( name = "image_data" )   @lob()   private byte[ ] imagedata; 

i'd appreciate advice how proceed.

the key answer in lower part of stacktrace:

ora-00932: inconsistent datatypes: expected number got binary 

hard field about, since you're working images there may wrong in how configured persistence class / field.

maybe should hint hibernate how store field annotating with

@lob(type = lobtype.blob) 

Comments