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

Reply via email to