openjpa-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From John Leach <john.le...@syger.com>
Subject Re: InvalidStateException: Attempt to set column "client.version" to two different values
Date Sun, 11 May 2008 22:22:24 GMT

Hello list,
Spikes is now Java 5 compatible. I also fixed a nasty mishtak in the
manager. Say after me persist/merge != save/update. Added ant task openjpac
bytecode twiddling before running the tests, and guess what? Same problem,
er, persists. Sigh.

John


John Leach wrote:
> 
> Hello Craig,
> Oops, I compiled parancoe-yaml with Eclipse, and didn't check the version.
> Should compile with Java 5 though. My mistake. Spike compiles with the ant
> task set to 1.5 source and target. I'll recompile the jar file and update
> the svn repository this weekend.
> 
> John
> 
> 
> Craig L Russell wrote:
>> 
>> Hi John,
>> 
>> Does the project require Java 6? I checked out the sources and cd  
>> trunk; ant. It appears that one of the dependencies is compiled with  
>> Java 6.
>> test-compile:
>>      [javac] Compiling 29 source files to /Users/clr/spikes/trunk/bin
>>      [javac] /Users/clr/spikes/trunk/java/src/org/syger/fixtures/ 
>> YamlHelper.java:28: cannot access org.parancoe.yaml.Yaml
>>      [javac] bad class file: /Users/clr/spikes/trunk/extlib/parancoe- 
>> yaml.jar(org/parancoe/yaml/Yaml.class)
>>      [javac] class file has wrong version 50.0, should be 49.0
>>      [javac] Please remove or make sure it appears in the correct  
>> subdirectory of the classpath.
>>      [javac] import org.parancoe.yaml.Yaml;
>>      [javac]                          ^
>>      [javac] 1 error
>> 
>> more below...
>> 
>> On May 10, 2008, at 7:38 AM, John Leach wrote:
>> 
>>>
>>> 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]
>> 
>> This SQL seems correct. It's updating the lastUpdated and version  
>> columns and verifying that the version is correct. Where does this  
>> error occur?
>> 
>> Craig
>>>
>>> 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.
>>>
>> 
>> Craig Russell
>> Architect, Sun Java Enterprise System http://java.sun.com/products/jdo
>> 408 276-5638 mailto:Craig.Russell@sun.com
>> P.S. A good JDO? O, Gasp!
>> 
>> 
>>  
>> 
> 
> 

-- 
View this message in context: http://www.nabble.com/InvalidStateException%3A-Attempt-to-set-column-%22client.version%22-to-two-different-values-tp17163045p17178751.html
Sent from the OpenJPA Users mailing list archive at Nabble.com.


Mime
View raw message