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