Unexpected error when an Entity has multiple columns named id ("id" and "ID") ----------------------------------------------------------------------------- Key: OPENJPA-1324 URL: https://issues.apache.org/jira/browse/OPENJPA-1324 Project: OpenJPA Issue Type: Bug Components: kernel Environment: Win XP, MySQL 5.1.30 Reporter: Rick Curtis When doing some artistic testing I came across this problem when I had two fields named id (id and ID) in my Entity. I'm not sure if this is a valid usage, but I'm documenting this issue to revisit at a later date. Note: The table that was generated by the Entity definition below had only one column named 'id'. Scenario: em1.getTransaction().begin(); em1.persist(new Book()); em1.getTransaction().commit(); @Entity public class Book { @Id @GeneratedValue(strategy=GenerationType.IDENTITY) private long id; private long ID; .... } Exception: ... Caused by: org.apache.openjpa.persistence.ArgumentException: Attempt to assign id "main.Book-0" to new instance "main.Book-main.Book-0" 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: main.Book-main.Book-0 at org.apache.openjpa.kernel.ManagedCache.commitNew(ManagedCache.java:240) at org.apache.openjpa.kernel.BrokerImpl.setStateManager(BrokerImpl.java:3990) at org.apache.openjpa.kernel.StateManagerImpl.commit(StateManagerImpl.java:1134) at org.apache.openjpa.kernel.BrokerImpl.endTransaction(BrokerImpl.java:2346) ... 6 more -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.