Here's the problem: I try to persist a new (transient) entity, using standard Spring call getHibernateTemplate().saveOrUpdate(). As you can see in the logs, after the entity (along with all its sub-entities) is
succesfully persisted, Hibernate tries to execute an update on the same entity for unknown reason, failing miserably due to the timestamp being stale (of course). Now, can someone knowledgeable tell me, why is it doing something I haven't asked it for, and how to turn this update off?
Hibernate version: 3.0.5
Mapping documents:
Code:
<class name="DetentionInvoice" table="DETENTION_INVOICE" lazy="true">
<id name="id" column="DETENTION_INVOICE_ID" unsaved-value="null">
<generator class="native">
<param name="sequence">SQ_DETENTION_INVOICE</param>
</generator>
</id>
<timestamp name="modifiedDate" column="MODIFIED_DATE" unsaved-value="undefined" />
<property name="invoiceNumber" column="INVOICE_NBR" length="20" />
<property name="scac" column="SCAC" length="6" />
<property name="invoiceDate" column="INVOICE_DATE" type="date" />
<property name="overrideGLNumber" column="OVERRIDE_GL_ACCT_NBR" length="19" />
<property name="inputDate" column="INPUT_DATE" type="date" />
<property name="modifiedBy" column="MODIFIED_BY" length="30" not-null="true" />
<many-to-one name="remitTo" column="scac" class="CarrierRemitTo" update="false"
insert="false" cascade="none" lazy="proxy" not-found="ignore" />
<set name="detentions" lazy="true" inverse="true" cascade="all-delete-orphan">
<key column="DETENTION_INVOICE_ID" on-delete="cascade" />
<one-to-many class="Detention" />
</set>
<set name="invalidDetentions" lazy="true" inverse="true"
cascade="all-delete-orphan">
<key column="DETENTION_INVOICE_ID" on-delete="cascade" />
<one-to-many class="InvalidDetention" />
</set>
</class>
Full Hibernate log trace (log mode = DEBUG):Code:
hibernate.impl.SessionImpl : [] opened session at timestamp: 4647230474797056
hibernate.jdbc.ConnectionManager : [] opening JDBC connection
hibernate.transaction.JDBCTransaction : [] begin
hibernate.transaction.JDBCTransaction : [] current autocommit status: true
hibernate.transaction.JDBCTransaction : [] disabling autocommit
event.def.AbstractSaveEventListener : [] transient instance of: com.kraft.ops.trans.qtts.detention.model.DetentionInvoice
event.def.DefaultSaveOrUpdateEventListener : [] saving transient instance
hibernate.jdbc.AbstractBatcher : [] about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
org.hibernate.SQL : [] select qtts_user.SQ_DETENTION_INVOICE.nextval from dual
hibernate.jdbc.AbstractBatcher : [] preparing statement
hibernate.id.SequenceGenerator : [] Sequence identifier generated: 595
hibernate.jdbc.AbstractBatcher : [] about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
hibernate.jdbc.AbstractBatcher : [] closing statement
event.def.AbstractSaveEventListener : [] generated identifier: 595, using strategy: org.hibernate.id.SequenceGenerator
event.def.AbstractSaveEventListener : [] saving [com.kraft.ops.trans.qtts.detention.model.DetentionInvoice#595]
hibernate.engine.Cascades : [] processing cascade ACTION_SAVE_UPDATE for: com.kraft.ops.trans.qtts.detention.model.DetentionInvoice
hibernate.engine.Cascades : [] done processing cascade ACTION_SAVE_UPDATE for: com.kraft.ops.trans.qtts.detention.model.DetentionInvoice
hibernate.engine.Versioning : [] Seeding: 2005-12-14 11:29:21.018
hibernate.engine.Cascades : [] id unsaved-value strategy UNDEFINED
persister.entity.BasicEntityPersister : [] Getting current persistent state for: [com.kraft.ops.trans.qtts.detention.model.CarrierRemitTo#KFPM]
hibernate.jdbc.AbstractBatcher : [] about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
org.hibernate.SQL : [] select carrierrem_.SCAC, carrierrem_.MODIFIED_DATE as MODIFIED2_6_, carrierrem_.REMIT_TO_CONTACT as REMIT3_6_, carrierrem_.REMIT_TO_ADDRESS as REMIT4_6_, carrierrem_.REMIT_TO_CITY_STATE_ZIP as REMIT5_6_, carrierrem_.REMIT_TO_PHONE_NBR as REMIT6_6_, carrierrem_.MODIFIED_BY as MODIFIED7_6_ from qtts_user.TRANS_CARRIER_REMIT carrierrem_ where carrierrem_.SCAC=?
hibernate.jdbc.AbstractBatcher : [] preparing statement
hibernate.type.StringType : [] binding 'KFPM' to parameter: 1
hibernate.jdbc.AbstractBatcher : [] about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
hibernate.jdbc.AbstractBatcher : [] closing statement
hibernate.engine.Cascades : [] processing cascade ACTION_SAVE_UPDATE for: com.kraft.ops.trans.qtts.detention.model.DetentionInvoice
hibernate.engine.Cascades : [] cascade ACTION_SAVE_UPDATE for collection: com.kraft.ops.trans.qtts.detention.model.DetentionInvoice.detentions
hibernate.engine.Cascades : [] cascading to saveOrUpdate: com.kraft.ops.trans.qtts.detention.model.Detention
event.def.AbstractSaveEventListener : [] transient instance of: com.kraft.ops.trans.qtts.detention.model.Detention
event.def.DefaultSaveOrUpdateEventListener : [] saving transient instance
hibernate.jdbc.AbstractBatcher : [] about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
org.hibernate.SQL : [] select qtts_user.SQ_DETENTION.nextval from dual
hibernate.jdbc.AbstractBatcher : [] preparing statement
hibernate.id.SequenceGenerator : [] Sequence identifier generated: 5222
hibernate.jdbc.AbstractBatcher : [] about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
hibernate.jdbc.AbstractBatcher : [] closing statement
event.def.AbstractSaveEventListener : [] generated identifier: 5222, using strategy: org.hibernate.id.SequenceGenerator
event.def.AbstractSaveEventListener : [] saving [com.kraft.ops.trans.qtts.detention.model.CustomerDetention#5222]
hibernate.engine.Cascades : [] processing cascade ACTION_SAVE_UPDATE for: com.kraft.ops.trans.qtts.detention.model.CustomerDetention
hibernate.engine.Cascades : [] done processing cascade ACTION_SAVE_UPDATE for: com.kraft.ops.trans.qtts.detention.model.CustomerDetention
hibernate.engine.Versioning : [] Seeding: 2005-12-14 11:29:21.879
hibernate.engine.Cascades : [] processing cascade ACTION_SAVE_UPDATE for: com.kraft.ops.trans.qtts.detention.model.CustomerDetention
hibernate.engine.Cascades : [] cascade ACTION_SAVE_UPDATE for collection: com.kraft.ops.trans.qtts.detention.model.Detention.errors
hibernate.engine.Cascades : [] cascading to saveOrUpdate: com.kraft.ops.trans.qtts.detention.model.DetentionError
event.def.AbstractSaveEventListener : [] transient instance of: com.kraft.ops.trans.qtts.detention.model.DetentionError
event.def.DefaultSaveOrUpdateEventListener : [] saving transient instance
hibernate.jdbc.AbstractBatcher : [] about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
org.hibernate.SQL : [] select qtts_user.SQ_DETENTION_ERROR.nextval from dual
hibernate.jdbc.AbstractBatcher : [] preparing statement
hibernate.id.SequenceGenerator : [] Sequence identifier generated: 3153
hibernate.jdbc.AbstractBatcher : [] about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
hibernate.jdbc.AbstractBatcher : [] closing statement
event.def.AbstractSaveEventListener : [] generated identifier: 3153, using strategy: org.hibernate.id.SequenceGenerator
event.def.AbstractSaveEventListener : [] saving [com.kraft.ops.trans.qtts.detention.model.DetentionError#3153]
hibernate.engine.Versioning : [] Seeding: 2005-12-14 11:29:22.39
hibernate.engine.Cascades : [] cascading to saveOrUpdate: com.kraft.ops.trans.qtts.detention.model.DetentionError
event.def.AbstractSaveEventListener : [] transient instance of: com.kraft.ops.trans.qtts.detention.model.DetentionError
event.def.DefaultSaveOrUpdateEventListener : [] saving transient instance
hibernate.jdbc.AbstractBatcher : [] about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
org.hibernate.SQL : [] select qtts_user.SQ_DETENTION_ERROR.nextval from dual
hibernate.jdbc.AbstractBatcher : [] preparing statement
hibernate.id.SequenceGenerator : [] Sequence identifier generated: 3154
hibernate.jdbc.AbstractBatcher : [] about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
hibernate.jdbc.AbstractBatcher : [] closing statement
event.def.AbstractSaveEventListener : [] generated identifier: 3154, using strategy: org.hibernate.id.SequenceGenerator
event.def.AbstractSaveEventListener : [] saving [com.kraft.ops.trans.qtts.detention.model.DetentionError#3154]
hibernate.engine.Versioning : [] Seeding: 2005-12-14 11:29:22.84
hibernate.engine.Cascades : [] done cascade ACTION_SAVE_UPDATE for collection: com.kraft.ops.trans.qtts.detention.model.Detention.errors
hibernate.engine.Cascades : [] done processing cascade ACTION_SAVE_UPDATE for: com.kraft.ops.trans.qtts.detention.model.CustomerDetention
hibernate.engine.Cascades : [] done cascade ACTION_SAVE_UPDATE for collection: com.kraft.ops.trans.qtts.detention.model.DetentionInvoice.detentions
hibernate.engine.Cascades : [] cascade ACTION_SAVE_UPDATE for collection: com.kraft.ops.trans.qtts.detention.model.DetentionInvoice.invalidDetentions
hibernate.engine.Cascades : [] done cascade ACTION_SAVE_UPDATE for collection: com.kraft.ops.trans.qtts.detention.model.DetentionInvoice.invalidDetentions
hibernate.engine.Cascades : [] done processing cascade ACTION_SAVE_UPDATE for: com.kraft.ops.trans.qtts.detention.model.DetentionInvoice
hibernate.transaction.JDBCTransaction : [] commit
hibernate.impl.SessionImpl : [] automatically flushing session
event.def.AbstractFlushingEventListener : [] flushing session
event.def.AbstractFlushingEventListener : [] processing flush-time cascades
hibernate.engine.Cascades : [] processing cascade ACTION_SAVE_UPDATE for: com.kraft.ops.trans.qtts.detention.model.DetentionInvoice
hibernate.engine.Cascades : [] cascade ACTION_SAVE_UPDATE for collection: com.kraft.ops.trans.qtts.detention.model.DetentionInvoice.detentions
hibernate.engine.Cascades : [] cascading to saveOrUpdate: com.kraft.ops.trans.qtts.detention.model.Detention
event.def.AbstractSaveEventListener : [] persistent instance of: com.kraft.ops.trans.qtts.detention.model.Detention
event.def.DefaultSaveOrUpdateEventListener : [] ignoring persistent instance
event.def.DefaultSaveOrUpdateEventListener : [] object already associated with session: [com.kraft.ops.trans.qtts.detention.model.CustomerDetention#5222]
hibernate.engine.Cascades : [] done cascade ACTION_SAVE_UPDATE for collection: com.kraft.ops.trans.qtts.detention.model.DetentionInvoice.detentions
hibernate.engine.Cascades : [] cascade ACTION_SAVE_UPDATE for collection: com.kraft.ops.trans.qtts.detention.model.DetentionInvoice.invalidDetentions
hibernate.engine.Cascades : [] done cascade ACTION_SAVE_UPDATE for collection: com.kraft.ops.trans.qtts.detention.model.DetentionInvoice.invalidDetentions
hibernate.engine.Cascades : [] done processing cascade ACTION_SAVE_UPDATE for: com.kraft.ops.trans.qtts.detention.model.DetentionInvoice
hibernate.engine.Cascades : [] processing cascade ACTION_SAVE_UPDATE for: com.kraft.ops.trans.qtts.detention.model.CustomerDetention
hibernate.engine.Cascades : [] cascade ACTION_SAVE_UPDATE for collection: com.kraft.ops.trans.qtts.detention.model.Detention.errors
hibernate.engine.Cascades : [] cascading to saveOrUpdate: com.kraft.ops.trans.qtts.detention.model.DetentionError
event.def.AbstractSaveEventListener : [] persistent instance of: com.kraft.ops.trans.qtts.detention.model.DetentionError
event.def.DefaultSaveOrUpdateEventListener : [] ignoring persistent instance
event.def.DefaultSaveOrUpdateEventListener : [] object already associated with session: [com.kraft.ops.trans.qtts.detention.model.DetentionError#3153]
hibernate.engine.Cascades : [] cascading to saveOrUpdate: com.kraft.ops.trans.qtts.detention.model.DetentionError
event.def.AbstractSaveEventListener : [] persistent instance of: com.kraft.ops.trans.qtts.detention.model.DetentionError
event.def.DefaultSaveOrUpdateEventListener : [] ignoring persistent instance
event.def.DefaultSaveOrUpdateEventListener : [] object already associated with session: [com.kraft.ops.trans.qtts.detention.model.DetentionError#3154]
hibernate.engine.Cascades : [] done cascade ACTION_SAVE_UPDATE for collection: com.kraft.ops.trans.qtts.detention.model.Detention.errors
hibernate.engine.Cascades : [] done processing cascade ACTION_SAVE_UPDATE for: com.kraft.ops.trans.qtts.detention.model.CustomerDetention
event.def.AbstractFlushingEventListener : [] dirty checking collections
event.def.AbstractFlushingEventListener : [] Flushing entities and processing referenced collections
event.def.WrapVisitor : [] Wrapped collection in role: com.kraft.ops.trans.qtts.detention.model.DetentionInvoice.detentions
event.def.WrapVisitor : [] Wrapped collection in role: com.kraft.ops.trans.qtts.detention.model.DetentionInvoice.invalidDetentions
hibernate.engine.Cascades : [] id unsaved-value strategy UNDEFINED
persister.entity.BasicEntityPersister : [] com.kraft.ops.trans.qtts.detention.model.DetentionInvoice.remitTo is dirty
event.def.DefaultFlushEntityEventListener : [] Updating entity: [com.kraft.ops.trans.qtts.detention.model.DetentionInvoice#595]
hibernate.engine.Versioning : [] Incrementing: 2005-12-14 11:29:21.018 to 2005-12-14 11:29:22.85
hibernate.engine.Collections : [] Collection found: [com.kraft.ops.trans.qtts.detention.model.DetentionInvoice.detentions#595], was: [<unreferenced>] (initialized)
hibernate.engine.Collections : [] Collection found: [com.kraft.ops.trans.qtts.detention.model.DetentionInvoice.invalidDetentions#595], was: [<unreferenced>] (initialized)
event.def.WrapVisitor : [] Wrapped collection in role: com.kraft.ops.trans.qtts.detention.model.Detention.errors
hibernate.engine.Collections : [] Collection found: [com.kraft.ops.trans.qtts.detention.model.Detention.errors#5222], was: [<unreferenced>] (initialized)
event.def.AbstractFlushingEventListener : [] Processing unreferenced collections
event.def.AbstractFlushingEventListener : [] Scheduling collection removes/(re)creates/updates
event.def.AbstractFlushingEventListener : [] Flushed: 4 insertions, 1 updates, 0 deletions to 4 objects
event.def.AbstractFlushingEventListener : [] Flushed: 3 (re)creations, 0 updates, 0 removals to 3 collections
hibernate.pretty.Printer : [] listing entities:
hibernate.pretty.Printer : [] com.kraft.ops.trans.qtts.detention.model.DetentionError{modifiedBy=H@X0R, modifiedDate=2005-12-14 11:29:22, message=Invoice date has exceeded tolerance from the ship date, detention=com.kraft.ops.trans.qtts.detention.model.Detention#5222, invalidDetention=null, fieldName=null, id=3153}
hibernate.pretty.Printer : [] com.kraft.ops.trans.qtts.detention.model.DetentionInvoice{remitTo=com.kraft.ops.trans.qtts.detention.model.CarrierRemitTo#KFPM, modifiedBy=H@X0R, scac=KFPM, modifiedDate=2005-12-14 11:29:22, invalidDetentions=[], inputDate=09 December 2005, invoiceDate=20 November 2005, overrideGLNumber=null, invoiceNumber=C4_24, id=595, detentions=[com.kraft.ops.trans.qtts.detention.model.Detention#5222]}
hibernate.pretty.Printer : [] com.kraft.ops.trans.qtts.detention.model.CustomerDetention{comments=null, modifiedBy=H@X0R, approvedAmount=null, sentToCarrierDate=null, inOutInd=I, customerNumber=7895, qtDate=null, id=5222, invoiceDepartureDate=2005-11-21 13:00:00, paymentCode=null, statusCode=VE, originatorState=WI, type=CU, originatorZip=53714, paidDate=null, mbol=004638996M, customerModifiedBy=H@X0R, invoiceArrivalDate=2005-11-21 10:52:00, carrierNumber=null, customerModifiedDate=null, originatorName=C1_10_1, paymentStatusSetDate=null, invoice=com.kraft.ops.trans.qtts.detention.model.DetentionInvoice#595, errors=[com.kraft.ops.trans.qtts.detention.model.DetentionError#3153, com.kraft.ops.trans.qtts.detention.model.DetentionError#3154], invoiceAppointmentDate=2005-11-21 13:00:00, modifiedDate=2005-12-14 11:29:21, originatorCity=Madison, requestedAmount=100.0}
hibernate.pretty.Printer : [] com.kraft.ops.trans.qtts.detention.model.DetentionError{modifiedBy=H@X0R, modifiedDate=2005-12-14 11:29:22, message=Difference in detention times between invoice and EDI exceeds 15 minutes, detention=com.kraft.ops.trans.qtts.detention.model.Detention#5222, invalidDetention=null, fieldName=null, id=3154}
event.def.AbstractFlushingEventListener : [] executing flush
persister.entity.BasicEntityPersister : [] Inserting entity: [com.kraft.ops.trans.qtts.detention.model.DetentionInvoice#595]
persister.entity.BasicEntityPersister : [] Version: 2005-12-14 11:29:21.018
hibernate.jdbc.AbstractBatcher : [] about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
org.hibernate.SQL : [] insert into qtts_user.DETENTION_INVOICE (MODIFIED_DATE, INVOICE_NBR, SCAC, INVOICE_DATE, OVERRIDE_GL_ACCT_NBR, INPUT_DATE, MODIFIED_BY, DETENTION_INVOICE_ID) values (?, ?, ?, ?, ?, ?, ?, ?)
hibernate.jdbc.AbstractBatcher : [] preparing statement
persister.entity.BasicEntityPersister : [] Dehydrating entity: [com.kraft.ops.trans.qtts.detention.model.DetentionInvoice#595]
hibernate.type.TimestampType : [] binding '2005-12-14 11:29:21' to parameter: 1
hibernate.type.StringType : [] binding 'C4_24' to parameter: 2
hibernate.type.StringType : [] binding 'KFPM' to parameter: 3
hibernate.type.DateType : [] binding '20 November 2005' to parameter: 4
hibernate.type.StringType : [] binding null to parameter: 5
hibernate.type.DateType : [] binding '09 December 2005' to parameter: 6
hibernate.type.StringType : [] binding 'H@X0R' to parameter: 7
hibernate.type.IntegerType : [] binding '595' to parameter: 8
hibernate.jdbc.AbstractBatcher : [] Adding to batch
persister.entity.BasicEntityPersister : [] Inserting entity: [com.kraft.ops.trans.qtts.detention.model.CustomerDetention#5222]
persister.entity.BasicEntityPersister : [] Version: 2005-12-14 11:29:21.879
hibernate.jdbc.AbstractBatcher : [] Executing batch size: 1
hibernate.jdbc.AbstractBatcher : [] success of batch update unknown: 0
hibernate.jdbc.AbstractBatcher : [] about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
hibernate.jdbc.AbstractBatcher : [] closing statement
hibernate.jdbc.AbstractBatcher : [] about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
org.hibernate.SQL : [] insert into qtts_user.DETENTION (MODIFIED_DATE, DETENTION_TYPE_CD, MBOL, IN_OUT_IND, STATUS_CD, PAYMENT_STATUS_CD, REQUESTED_AMOUNT, APPROVED_AMOUNT, COMMENTS, CARRIER_PROVIDED_NBR, CARRIER_PROVIDED_NAME, CARRIER_PROVIDED_CITY, CARRIER_PROVIDED_STATE, CARRIER_PROVIDED_ZIP, CARRIER_APPT_TIME, CARRIER_ARRIVAL_TIME, CARRIER_DEPARTURE_TIME, PAYMENT_STATUS_SET_DATE, PAID_DATE, SENT_TO_CARRIER_DATE, MODIFIED_BY, DETENTION_INVOICE_ID, DETENTION_ID) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
hibernate.jdbc.AbstractBatcher : [] preparing statement
persister.entity.BasicEntityPersister : [] Dehydrating entity: [com.kraft.ops.trans.qtts.detention.model.CustomerDetention#5222]
hibernate.type.TimestampType : [] binding '2005-12-14 11:29:21' to parameter: 1
hibernate.type.StringType : [] binding 'CU' to parameter: 2
hibernate.type.StringType : [] binding '004638996M' to parameter: 3
hibernate.type.StringType : [] binding 'I' to parameter: 4
hibernate.type.StringType : [] binding 'VE' to parameter: 5
hibernate.type.StringType : [] binding null to parameter: 6
hibernate.type.DoubleType : [] binding '100.0' to parameter: 7
hibernate.type.DoubleType : [] binding null to parameter: 8
hibernate.type.StringType : [] binding null to parameter: 9
hibernate.type.StringType : [] binding null to parameter: 10
hibernate.type.StringType : [] binding 'C1_10_1' to parameter: 11
hibernate.type.StringType : [] binding 'Madison' to parameter: 12
hibernate.type.StringType : [] binding 'WI' to parameter: 13
hibernate.type.StringType : [] binding '53714' to parameter: 14
hibernate.type.TimestampType : [] binding '2005-11-21 13:00:00' to parameter: 15
hibernate.type.TimestampType : [] binding '2005-11-21 10:52:00' to parameter: 16
hibernate.type.TimestampType : [] binding '2005-11-21 13:00:00' to parameter: 17
hibernate.type.TimestampType : [] binding null to parameter: 18
hibernate.type.TimestampType : [] binding null to parameter: 19
hibernate.type.TimestampType : [] binding null to parameter: 20
hibernate.type.StringType : [] binding 'H@X0R' to parameter: 21
hibernate.type.IntegerType : [] binding '595' to parameter: 22
hibernate.type.IntegerType : [] binding '5222' to parameter: 23
hibernate.jdbc.AbstractBatcher : [] Adding to batch
persister.entity.BasicEntityPersister : [] Inserting entity: [com.kraft.ops.trans.qtts.detention.model.CustomerDetention#5222]
hibernate.jdbc.AbstractBatcher : [] Executing batch size: 1
hibernate.jdbc.AbstractBatcher : [] success of batch update unknown: 0
hibernate.jdbc.AbstractBatcher : [] about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
hibernate.jdbc.AbstractBatcher : [] closing statement
hibernate.jdbc.AbstractBatcher : [] about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
org.hibernate.SQL : [] insert into qtts_user.DETENTION_CUSTOMER (CUSTOMER_NBR, QT_DATE, MODIFIED_BY, MODIFIED_DATE, DETENTION_ID) values (?, ?, ?, ?, ?)
hibernate.jdbc.AbstractBatcher : [] preparing statement
persister.entity.BasicEntityPersister : [] Dehydrating entity: [com.kraft.ops.trans.qtts.detention.model.CustomerDetention#5222]
hibernate.type.IntegerType : [] binding '7895' to parameter: 1
hibernate.type.TimestampType : [] binding null to parameter: 2
hibernate.type.StringType : [] binding 'H@X0R' to parameter: 3
hibernate.type.TimestampType : [] binding '2005-12-14 11:29:21' to parameter: 4
hibernate.type.IntegerType : [] binding '5222' to parameter: 5
hibernate.jdbc.AbstractBatcher : [] about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
hibernate.jdbc.AbstractBatcher : [] closing statement
persister.entity.BasicEntityPersister : [] Inserting entity: [com.kraft.ops.trans.qtts.detention.model.DetentionError#3153]
persister.entity.BasicEntityPersister : [] Version: 2005-12-14 11:29:22.39
hibernate.jdbc.AbstractBatcher : [] about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
org.hibernate.SQL : [] insert into qtts_user.DETENTION_ERROR (MODIFIED_DATE, COLUMN_NAME, ERROR_MESSAGE, MODIFIED_BY, DETENTION_ID, INVALID_DETENTION_ID, DETENTION_ERROR_ID) values (?, ?, ?, ?, ?, ?, ?)
hibernate.jdbc.AbstractBatcher : [] preparing statement
persister.entity.BasicEntityPersister : [] Dehydrating entity: [com.kraft.ops.trans.qtts.detention.model.DetentionError#3153]
hibernate.type.TimestampType : [] binding '2005-12-14 11:29:22' to parameter: 1
hibernate.type.StringType : [] binding null to parameter: 2
hibernate.type.StringType : [] binding 'Invoice date has exceeded tolerance from the ship date' to parameter: 3
hibernate.type.StringType : [] binding 'H@X0R' to parameter: 4
hibernate.type.IntegerType : [] binding '5222' to parameter: 5
hibernate.type.IntegerType : [] binding null to parameter: 6
hibernate.type.IntegerType : [] binding '3153' to parameter: 7
hibernate.jdbc.AbstractBatcher : [] Adding to batch
persister.entity.BasicEntityPersister : [] Inserting entity: [com.kraft.ops.trans.qtts.detention.model.DetentionError#3154]
persister.entity.BasicEntityPersister : [] Version: 2005-12-14 11:29:22.84
hibernate.jdbc.AbstractBatcher : [] reusing prepared statement
org.hibernate.SQL : [] insert into qtts_user.DETENTION_ERROR (MODIFIED_DATE, COLUMN_NAME, ERROR_MESSAGE, MODIFIED_BY, DETENTION_ID, INVALID_DETENTION_ID, DETENTION_ERROR_ID) values (?, ?, ?, ?, ?, ?, ?)
persister.entity.BasicEntityPersister : [] Dehydrating entity: [com.kraft.ops.trans.qtts.detention.model.DetentionError#3154]
hibernate.type.TimestampType : [] binding '2005-12-14 11:29:22' to parameter: 1
hibernate.type.StringType : [] binding null to parameter: 2
hibernate.type.StringType : [] binding 'Difference in detention times between invoice and EDI exceeds 15 minutes' to parameter: 3
hibernate.type.StringType : [] binding 'H@X0R' to parameter: 4
hibernate.type.IntegerType : [] binding '5222' to parameter: 5
hibernate.type.IntegerType : [] binding null to parameter: 6
hibernate.type.IntegerType : [] binding '3154' to parameter: 7
hibernate.jdbc.AbstractBatcher : [] Adding to batch
hibernate.jdbc.AbstractBatcher : [] Executing batch size: 2
hibernate.jdbc.AbstractBatcher : [] success of batch update unknown: 0
hibernate.jdbc.AbstractBatcher : [] success of batch update unknown: 1
hibernate.jdbc.AbstractBatcher : [] about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
hibernate.jdbc.AbstractBatcher : [] closing statement
persister.entity.BasicEntityPersister : [] Updating entity: [com.kraft.ops.trans.qtts.detention.model.DetentionInvoice#595]
persister.entity.BasicEntityPersister : [] Existing version: 2005-12-14 11:29:21.018 -> New version: 2005-12-14 11:29:22.85
hibernate.jdbc.AbstractBatcher : [] about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
org.hibernate.SQL : [] update qtts_user.DETENTION_INVOICE set MODIFIED_DATE=?, INVOICE_NBR=?, SCAC=?, INVOICE_DATE=?, OVERRIDE_GL_ACCT_NBR=?, INPUT_DATE=?, MODIFIED_BY=? where DETENTION_INVOICE_ID=? and MODIFIED_DATE=?
hibernate.jdbc.AbstractBatcher : [] preparing statement
persister.entity.BasicEntityPersister : [] Dehydrating entity: [com.kraft.ops.trans.qtts.detention.model.DetentionInvoice#595]
hibernate.type.TimestampType : [] binding '2005-12-14 11:29:22' to parameter: 1
hibernate.type.StringType : [] binding 'C4_24' to parameter: 2
hibernate.type.StringType : [] binding 'KFPM' to parameter: 3
hibernate.type.DateType : [] binding '20 November 2005' to parameter: 4
hibernate.type.StringType : [] binding null to parameter: 5
hibernate.type.DateType : [] binding '09 December 2005' to parameter: 6
hibernate.type.StringType : [] binding 'H@X0R' to parameter: 7
hibernate.type.IntegerType : [] binding '595' to parameter: 8
hibernate.type.TimestampType : [] binding '2005-12-14 11:29:21' to parameter: 9
hibernate.jdbc.AbstractBatcher : [] about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
hibernate.jdbc.AbstractBatcher : [] closing statement
event.def.AbstractFlushingEventListener : [] Could not synchronize database state with session
org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [com.kraft.ops.trans.qtts.detention.model.DetentionInvoice#595]
at java.lang.Throwable.<init>(Throwable.java)
at java.lang.Throwable.<init>(Throwable.java)
at org.hibernate.exception.NestableRuntimeException.<init>(NestableRuntimeException.java:100)
at org.hibernate.StaleObjectStateException.<init>(StaleObjectStateException.java:20)
at org.hibernate.persister.entity.BasicEntityPersister.check(BasicEntityPersister.java:1441)
at org.hibernate.persister.entity.BasicEntityPersister.update(BasicEntityPersister.java:1986)
at org.hibernate.persister.entity.BasicEntityPersister.updateOrInsert(BasicEntityPersister.java:1909)
at org.hibernate.persister.entity.BasicEntityPersister.update(BasicEntityPersister.java:2149)
at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:75)
at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:239)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:223)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:137)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:274)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:730)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:324)
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:86)
at org.springframework.orm.hibernate3.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:490)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:495)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:468)
at org.springframework.transaction.interceptor.TransactionAspectSupport.doCommitTransactionAfterReturning(TransactionAspectSupport.java:258)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:174)
at $Proxy1.save(Unknown Source)
at com.kraft.ops.trans.qtts.detention.ui.action.UploadDetentionsAction.perform(UploadDetentionsAction.java:71)
at org.apache.struts.action.ActionServlet.processActionPerform(ActionServlet.java:1786)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1585)
at com.kraft.operations.transportation.frameworkx.security.servlet.KRSecurityServlet.process(KRSecurityServlet.java:416)
at com.kraft.operations.transportation.frameworkx.security.servlet.KRSecurityServlet.doPost(KRSecurityServlet.java:322)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictServletInstance.java:110)
at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLifecycleServlet.java:174)
at com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycleServlet.java:313)
at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLifecycleServlet.java:116)
at com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.java:283)
at com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(ValidServletReferenceState.java:42)
at com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(ServletInstanceReference.java:40)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:76)
at com.kraft.ops.trans.qtts.det.hack.IDDQDFilter.doFilter(IDDQDFilter.java:39)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:132)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:71)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:974)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:564)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:200)
at com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:119)
at com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:276)
at com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:71)
at com.ibm.ws.webcontainer.cache.invocation.CacheableInvocationContext.invoke(CacheableInvocationContext.java:116)
at com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:186)
at com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSEListener.java:334)
at com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection.java:56)
at com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:618)
at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:439)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java)
hibernate.transaction.JDBCTransaction : [] rollback
hibernate.jdbc.JDBCContext : [] before transaction completion
hibernate.impl.SessionImpl : [] before transaction completion
hibernate.transaction.JDBCTransaction : [] re-enabling autocommit
hibernate.transaction.JDBCTransaction : [] rolled back JDBC Connection
hibernate.jdbc.JDBCContext : [] after transaction completion
hibernate.impl.SessionImpl : [] after transaction completion
hibernate.impl.SessionImpl : [] closing session
hibernate.jdbc.ConnectionManager : [] closing JDBC connection [ (open PreparedStatements: 0, globally: 0) (open ResultSets: 0, globally: 0)]
hibernate.jdbc.JDBCContext : [] after transaction completion
hibernate.impl.SessionImpl : [] after transaction completion
hibernate.jdbc.ConnectionManager : [] running Session.finalize()
hibernate.jdbc.ConnectionManager : [] running Session.finalize()
Name and version of the database you are using: Oracle 8.1.7