I have 2 objects related, when I create both in a transaction and "set one 
object on another" and then committing. I get this error. The objects are 
stored in DB2 with auto increment -ing identity.

"This error can also occur when a horizontally or vertically mapped 
classes uses auto-increment application identity and does not use a 
hierarchy of application identity classes."

Caused by: <0.9.7-incubating fatal user error> 
org.apache.openjpa.persistence.ArgumentException: Attempt to assign id 
"com.XXX.core.pbo.Base-141" to new instance 
"com.XXXX.core.pbo.Project-com.XXXX.core.pbo.Base-141" failed; there is 
already an object in the L1 cache with this id. You must delete this 
object (in a previous transaction or the current one) before reusing its 
id.  This error can also occur when a horizontally or vertically mapped 
classes uses auto-increment application identity and does not use a 
hierarchy of application identity classes.
FailedObject: com.XXXXX.core.pbo.Project-com.XXXX.core.pbo.Base-141
        at org.apache.openjpa.kernel.BrokerImpl$ManagedCache.commitNew(
BrokerImpl.java:4528)
        at org.apache.openjpa.kernel.BrokerImpl.setStateManager(
BrokerImpl.java:3787)
        at org.apache.openjpa.kernel.StateManagerImpl.commit(
StateManagerImpl.java:925)
        at org.apache.openjpa.kernel.BrokerImpl.endTransaction(
BrokerImpl.java:2194)
        at org.apache.openjpa.kernel.BrokerImpl.afterCompletion(
BrokerImpl.java:1801)
        at org.apache.openjpa.kernel.LocalManagedRuntime.commit(
LocalManagedRuntime.java:93)
        at org.apache.openjpa.kernel.BrokerImpl.commit(
BrokerImpl.java:1311)
        at org.apache.openjpa.kernel.DelegatingBroker.commit(
DelegatingBroker.java:866)
        at org.apache.openjpa.persistence.EntityManagerImpl.commit(
EntityManagerImpl.java:409)

Regards,

Majeed Arni

Reply via email to