Hi, I have no idea about that "manually setting the version field in your application".
So far, my understanding on setting of the version field is a qualified field(Integer, Long or DateType) with annotation @Version. Is this the one you mentioned as manually setting? Thanks, Gene. On 9/18/07, Patrick Linskey <[EMAIL PROTECTED]> wrote: > > Hi, > > Are you manually setting the version field in your application? > > -Patrick > > On 9/17/07, Gene Woo <[EMAIL PROTECTED]> wrote: > > Hi, > > > > I got the following error messages from application server. I am very > > confused on that. Because this is an isolated entity without any > > relationship to the rest of entities. > > > > <4|true|0.9.7> org.apache.openjpa.persistence.InvalidStateException: > Attempt > > to set column "event.update_version" to two different values: (class > > java.lang.Integer)"2", (class java.lang.Integer)"3" This can occur when > you > > fail to set both sides of a two-sided relation between objects, or when > you > > map different fields to the same column, but you do not keep the values > of > > these fields in synch. > > > > Note: This update_version is a mapped-super class's property: @ > > [EMAIL PROTECTED](name = "update_version") private Integer _version; > > > > And I found the code only performed query and new/persist object. Not > intent > > to update or merge object. > > > > The error was found before perform query. As you know, system will flush > > before query. Here is the stack trace: > > > > at org.apache.openjpa.jdbc.sql.PrimaryRow.setObject( > PrimaryRow.java > > :335) > > at org.apache.openjpa.jdbc.sql.RowImpl.setObject(RowImpl.java > :501) > > at > kodo.jdbc.meta.strats.ColumnPerLockGroupVersionStrategy.update( > > ColumnPerLockGroupVersionStrategy.java:166) > > at org.apache.openjpa.jdbc.meta.Version.update(Version.java:294) > > at > > org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.updateIndicators( > > AbstractUpdateManager.java:308) > > at org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.update( > > AbstractUpdateManager.java:291) > > at > > org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.populateRowManager( > > AbstractUpdateManager.java:149) > > at org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush( > > AbstractUpdateManager.java:82) > > at org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush( > > AbstractUpdateManager.java:69) > > at org.apache.openjpa.jdbc.kernel.JDBCStoreManager.flush( > > JDBCStoreManager.java:511) > > at org.apache.openjpa.kernel.DelegatingStoreManager.flush( > > DelegatingStoreManager.java:127) > > at org.apache.openjpa.datacache.DataCacheStoreManager.flush( > > DataCacheStoreManager.java:506) > > at org.apache.openjpa.kernel.DelegatingStoreManager.flush( > > DelegatingStoreManager.java:127) > > at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java > :1970) > > at org.apache.openjpa.kernel.BrokerImpl.flushSafe( > BrokerImpl.java > > :1868) > > at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java > :1639) > > at org.apache.openjpa.kernel.QueryImpl.isInMemory(QueryImpl.java > > :948) > > at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java > :782) > > at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java > :761) > > at org.apache.openjpa.kernel.DelegatingQuery.execute( > > DelegatingQuery.java:528) > > at org.apache.openjpa.persistence.QueryImpl.execute( > QueryImpl.java > > :222) > > at org.apache.openjpa.persistence.QueryImpl.getSingleResult( > > QueryImpl.java:282) > > > > -- > > Best Regards, > > > > Gene Wu > > > > > -- > Patrick Linskey > 202 669 5907 > -- Best Regards, Gene Woo
