Error in persisting 2 related object in OpenJPA 0.9.7/DB2

1 Message Forum Options Options
Embed this topic
Permalink
Majeed Arni
Error in persisting 2 related object in OpenJPA 0.9.7/DB2
Reply Threaded MoreMore options
Print post
Permalink
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