org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update

There are no available Samebug tips for this exception. Do you have an idea how to solve this issue? A short tip would help users who saw this issue last week.

  • When trying to insert successive records with CLOB column throws java.sql.BatchUpdateException: ORA-01400: cannot insert NULL error. Steps to reproduce: 1.Create a object with CLOB mapped to string dataType 2.Set CLOB value (any value > 4000 chars) 3.Call session.save on the object 4.Create another object and do not set the CLOB column value. 5.Call session.save on the object. --> Returns error Hibernate: insert into JXPTEST (name, cost, thingSize, type, lastupdate, lockToken, id2, longField, booleanField, doubleField, clobField, ID) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) 2007-07-04 10:42:52,855 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG org.hibernate.type.StringType - binding 'name' to parameter: 1 2007-07-04 10:42:52,855 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG org.hibernate.type.BigDecimalType - binding '999' to parameter: 2 2007-07-04 10:42:52,855 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG org.hibernate.type.IntegerType - binding '1' to parameter: 3 2007-07-04 10:42:52,855 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG org.hibernate.type.StringType - binding 'gold' to parameter: 4 2007-07-04 10:42:52,855 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG org.hibernate.type.DateType - binding '04 July 2007' to parameter: 5 2007-07-04 10:42:52,855 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG org.hibernate.type.StringType - binding '4c22dc2f138e21f301139253d0a700f9' to parameter: 6 2007-07-04 10:42:52,855 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG org.hibernate.type.StringType - binding null to parameter: 7 2007-07-04 10:42:52,855 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG org.hibernate.type.LongType - binding null to parameter: 8 2007-07-04 10:42:52,855 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG org.hibernate.type.BooleanType - binding null to parameter: 9 2007-07-04 10:42:52,855 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG org.hibernate.type.DoubleType - binding null to parameter: 10 2007-07-04 10:42:52,855 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG org.hibernate.type.StringType - binding null to parameter: 11 2007-07-04 10:42:52,855 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG org.hibernate.type.StringType - binding '4c22dc2f138e21f301139253d0a700fa' to parameter: 12 org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:71) at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43) at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:202) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:235) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:139) at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:297) at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27) at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:985) at com.chordiant.persistence.HibernateDataAccess.createPoint(HibernateDataAccess.java:251) at com.chordiant.persistence.HibernateDataAccess.createSet(HibernateDataAccess.java:266) at com.chordiant.persistence.SQLDataAccess.createSet(SQLDataAccess.java:1149) at com.chordiant.persistence.test.JXPTestService.createSet(JXPTestService.java:263) at com.chordiant.persistence.test.JXPTestService.processRequest(JXPTestService.java:581) at com.chordiant.service.MasterStatelessServiceBean.processRequest(MasterStatelessServiceBean.java:535) at com.chordiant.service.GatewayHandler.processRequest(GatewayHandler.java:266) at com.chordiant.service.ejb.EJBGatewayServiceBean.processRequestObject(EJBGatewayServiceBean.java:171) at com.chordiant.service.ejb.EJBGatewayServiceCMT_p5ylky_EOImpl.processRequestObject(EJBGatewayServiceCMT_p5ylky_EOImpl.java:132) at com.chordiant.service.ejb.EJBGatewayServiceCMT_p5ylky_EOImpl_WLSkel.invoke(Unknown Source) at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:517) at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:224) at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:407) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147) at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:403) at weblogic.rmi.internal.BasicServerRef.access$300(BasicServerRef.java:56) at weblogic.rmi.internal.BasicServerRef$BasicExecuteRequest.run(BasicServerRef.java:934) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209) at weblogic.work.ExecuteThread.run(ExecuteThread.java:181) Caused by: java.sql.BatchUpdateException: ORA-01400: cannot insert NULL into ("CCSOWNER"."JXPTEST"."ID") ---------------------------------------------------------------------------------------------------------------------------- Following is my hibernate mapping file hibernate-mapping> <class name="com.chordiant.persistence.test.Thing" table="JXPTEST" lazy="false"> <id name="Id" column="ID" type="string"> <generator class="uuid.hex"> </generator> </id> <property name="nameOfAnItemThatHasToBeThisLongToTestTheOperationalBehavior" type="string" column="name" length="80" not-null="true" lazy="false"/> <property name="cost" type="big_decimal" precision="8" scale="2" not-null="false" lazy="false"/> <property name="size" type="int" column="thingSize" length="10" not-null="false" lazy="false"/> <property name="type" type="string" column="type" length="80" not-null="true" lazy="false"/> <property name="lastUpdate" type="date" column="lastupdate" not-null="false" lazy="false"/> <property name="lockToken" type="string" column="lockToken" length="128" not-null="false" lazy="false"/> <property name="id2" type="string" column="id2" length="80" not-null="false" lazy="false"/> <property name="longField" type="long" column="longField" length="22" not-null="false" lazy="false"/> <property name="booleanField" type="boolean" column="booleanField" length="1" not-null="false" lazy="false"/> <property name="doubleField" type="java.lang.Double" column="doubleField" precision="8" scale="2" not-null="false" lazy="false"/> <property name="clobField" type="string" column="clobField" length="128" not-null="false" lazy="false"/> </class> </hibernate-mapping>
    via by Priya Venkatesan,
  • When trying to insert successive records with CLOB column throws java.sql.BatchUpdateException: ORA-01400: cannot insert NULL error. Steps to reproduce: 1.Create a object with CLOB mapped to string dataType 2.Set CLOB value (any value > 4000 chars) 3.Call session.save on the object 4.Create another object and do not set the CLOB column value. 5.Call session.save on the object. --> Returns error Hibernate: insert into JXPTEST (name, cost, thingSize, type, lastupdate, lockToken, id2, longField, booleanField, doubleField, clobField, ID) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) 2007-07-04 10:42:52,855 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG org.hibernate.type.StringType - binding 'name' to parameter: 1 2007-07-04 10:42:52,855 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG org.hibernate.type.BigDecimalType - binding '999' to parameter: 2 2007-07-04 10:42:52,855 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG org.hibernate.type.IntegerType - binding '1' to parameter: 3 2007-07-04 10:42:52,855 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG org.hibernate.type.StringType - binding 'gold' to parameter: 4 2007-07-04 10:42:52,855 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG org.hibernate.type.DateType - binding '04 July 2007' to parameter: 5 2007-07-04 10:42:52,855 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG org.hibernate.type.StringType - binding '4c22dc2f138e21f301139253d0a700f9' to parameter: 6 2007-07-04 10:42:52,855 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG org.hibernate.type.StringType - binding null to parameter: 7 2007-07-04 10:42:52,855 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG org.hibernate.type.LongType - binding null to parameter: 8 2007-07-04 10:42:52,855 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG org.hibernate.type.BooleanType - binding null to parameter: 9 2007-07-04 10:42:52,855 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG org.hibernate.type.DoubleType - binding null to parameter: 10 2007-07-04 10:42:52,855 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG org.hibernate.type.StringType - binding null to parameter: 11 2007-07-04 10:42:52,855 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG org.hibernate.type.StringType - binding '4c22dc2f138e21f301139253d0a700fa' to parameter: 12 org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:71) at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43) at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:202) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:235) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:139) at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:297) at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27) at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:985) at com.chordiant.persistence.HibernateDataAccess.createPoint(HibernateDataAccess.java:251) at com.chordiant.persistence.HibernateDataAccess.createSet(HibernateDataAccess.java:266) at com.chordiant.persistence.SQLDataAccess.createSet(SQLDataAccess.java:1149) at com.chordiant.persistence.test.JXPTestService.createSet(JXPTestService.java:263) at com.chordiant.persistence.test.JXPTestService.processRequest(JXPTestService.java:581) at com.chordiant.service.MasterStatelessServiceBean.processRequest(MasterStatelessServiceBean.java:535) at com.chordiant.service.GatewayHandler.processRequest(GatewayHandler.java:266) at com.chordiant.service.ejb.EJBGatewayServiceBean.processRequestObject(EJBGatewayServiceBean.java:171) at com.chordiant.service.ejb.EJBGatewayServiceCMT_p5ylky_EOImpl.processRequestObject(EJBGatewayServiceCMT_p5ylky_EOImpl.java:132) at com.chordiant.service.ejb.EJBGatewayServiceCMT_p5ylky_EOImpl_WLSkel.invoke(Unknown Source) at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:517) at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:224) at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:407) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147) at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:403) at weblogic.rmi.internal.BasicServerRef.access$300(BasicServerRef.java:56) at weblogic.rmi.internal.BasicServerRef$BasicExecuteRequest.run(BasicServerRef.java:934) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209) at weblogic.work.ExecuteThread.run(ExecuteThread.java:181) Caused by: java.sql.BatchUpdateException: ORA-01400: cannot insert NULL into ("CCSOWNER"."JXPTEST"."ID") ---------------------------------------------------------------------------------------------------------------------------- Following is my hibernate mapping file hibernate-mapping> <class name="com.chordiant.persistence.test.Thing" table="JXPTEST" lazy="false"> <id name="Id" column="ID" type="string"> <generator class="uuid.hex"> </generator> </id> <property name="nameOfAnItemThatHasToBeThisLongToTestTheOperationalBehavior" type="string" column="name" length="80" not-null="true" lazy="false"/> <property name="cost" type="big_decimal" precision="8" scale="2" not-null="false" lazy="false"/> <property name="size" type="int" column="thingSize" length="10" not-null="false" lazy="false"/> <property name="type" type="string" column="type" length="80" not-null="true" lazy="false"/> <property name="lastUpdate" type="date" column="lastupdate" not-null="false" lazy="false"/> <property name="lockToken" type="string" column="lockToken" length="128" not-null="false" lazy="false"/> <property name="id2" type="string" column="id2" length="80" not-null="false" lazy="false"/> <property name="longField" type="long" column="longField" length="22" not-null="false" lazy="false"/> <property name="booleanField" type="boolean" column="booleanField" length="1" not-null="false" lazy="false"/> <property name="doubleField" type="java.lang.Double" column="doubleField" precision="8" scale="2" not-null="false" lazy="false"/> <property name="clobField" type="string" column="clobField" length="128" not-null="false" lazy="false"/> </class> </hibernate-mapping>
    via by Priya Venkatesan,
  • Genesys Info Mart 7.6.x Release Note
    via by Unknown author,
  • GitHub comment 115#66401673
    via GitHub by landonreed
    ,
  • Database transaction lockups - Forums | Liferay
    via by Unknown author,
    • org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:71) at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43) at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:202) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:235) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:139) at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:297) at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27) at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:985) at com.chordiant.persistence.HibernateDataAccess.createPoint(HibernateDataAccess.java:251) at com.chordiant.persistence.HibernateDataAccess.createSet(HibernateDataAccess.java:266) at com.chordiant.persistence.SQLDataAccess.createSet(SQLDataAccess.java:1149) at com.chordiant.persistence.test.JXPTestService.createSet(JXPTestService.java:263) at com.chordiant.persistence.test.JXPTestService.processRequest(JXPTestService.java:581) at com.chordiant.service.MasterStatelessServiceBean.processRequest(MasterStatelessServiceBean.java:535) at com.chordiant.service.GatewayHandler.processRequest(GatewayHandler.java:266) at com.chordiant.service.ejb.EJBGatewayServiceBean.processRequestObject(EJBGatewayServiceBean.java:171) at com.chordiant.service.ejb.EJBGatewayServiceCMT_p5ylky_EOImpl.processRequestObject(EJBGatewayServiceCMT_p5ylky_EOImpl.java:132) at com.chordiant.service.ejb.EJBGatewayServiceCMT_p5ylky_EOImpl_WLSkel.invoke(Unknown Source) at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:517) at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:224) at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:407) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147) at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:403) at weblogic.rmi.internal.BasicServerRef.access$300(BasicServerRef.java:56) at weblogic.rmi.internal.BasicServerRef$BasicExecuteRequest.run(BasicServerRef.java:934) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209) at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)

    Users with the same issue

    Unknown visitor1 times, last one,
    Unknown visitor1 times, last one,
    Unknown visitor1 times, last one,
    Unknown visitor1 times, last one,
    Unknown visitor1 times, last one,
    1 more bugmates