I am trying to save 2 objects which have 1-to-Many relationship. Both are 
created in a transaction and then persisted. Both have identity generated by 
DB2.

Is this a bug? is there a workaournd this?

Caused by: <0.9.7-incubating fatal store error> 
org.apache.openjpa.persistence.RollbackException: Attempt to assign id 
"com.testc.reporting.core.pbo.Base-201" to new instance 
"com.testc.reporting.core.pbo.Project-com.testc.reporting.core.pbo.Base-201" 
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.
    at 
org.apache.openjpa.persistence.EntityManagerImpl.commit(EntityManagerImpl.java:420)
    at 
com.testc.reporting.core.TestProject.testCreateProject(TestProject.java:54)
    at com.testc.reporting.core.TestProject.testProject(TestProject.java:24)
    at com.testc.reporting.core.Main.main(Main.java:19)
    ... 27 more
Caused by: <0.9.7-incubating fatal user error> 
org.apache.openjpa.persistence.ArgumentException: Attempt to assign id 
"com.testc.reporting.core.pbo.Base-201" to new instance 
"com.testc.reporting.core.pbo.Project-com.testc.reporting.core.pbo.Base-201" 
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.testc.reporting.core.pbo.Project-com.testc.reporting.core.pbo.Base-201
    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)
    ... 30 more

Reply via email to