Dear list, As part of a (very) small open source project to provide domain entity mapping and association examples, together with a programmatic interface to reach outside the JPA 1.0 specifications, I am struggling with two problems using OpenJPA.
I had better warn you all that I am a freelance consultant working in Italy and I use and will be using this work to sell both the advantages and disadvantages (but with solutions) of using JPA 1.0. to my clients. The first showstopper is an InvalidStateException: Attempt to set column "client.version" to two different values... where the version field is being updated (this is an optimistic locking field, and has a @Version annotation), the SQL query being performed seems to be: UPDATE client SET lastUpdated = ?, version = ? WHERE id = ? AND version = ? [params=(Timestamp) 2008-05-10 15:58:16.593, (int) 3, (long) 3, (int) 2] The same annotated entities work just fine with Hibernate and EclipseLink - for what that's worth. I have even tried adding openjpac in the ant task, but the results remain the same. I am convinced that this is a Spring/OpenJPA configuration problem, but being a relative novice with Spring (and OpenJPA) I have been beating my head against the proverbial brick wall for two days, and not even a dent in the wall to show for my efforts. The second showstopper is finding a way to change the metadata before an EntityManager is created. The intention is to provide a 'third' alternative to annotations and/or persistence.xml, where the entity classes contain only JPA annotations, with any remaining changes being made programmatically. The one-to-many example defines CascadeType.ALL, but actually requires a 'delete-orphans' extension for the tests to succeed. Again, my many attempts at hooking into the properties openjpa.BrokerFactory or openjpa.BrokerImpl or openjpa.MetaDataFactory all met with failure of one sort or the other (mostly ClassCast exceptions within the OpenJPA code). Any help would be greatly appreciated. I am working 'in collaboration with' two Java User Groups (Torino and Trento), but it's really me who wrote most of the code. The open source project, called Spikes (guess why) can be downloaded via Subversion with the command: svn checkout https://lab.jugtorino.it/svn/sandbox/spikes/trunk spikes There is a Trac site at http://lab.jugtorino.it/trac/sandbox/wiki/Spikes, which I have converted to English in most places, and also an article (which started the project rolling) http://www.syger.it/Tutorials/JPA10Gotchas.html Best regards John Leach, Verona, Italy -- View this message in context: http://www.nabble.com/InvalidStateException%3A-Attempt-to-set-column-%22client.version%22-to-two-different-values-tp17163045p17163045.html Sent from the OpenJPA Users mailing list archive at Nabble.com.
