Hi,

Absolutely not. Because I only exposed this private field to a getting
method. So it's no possible to modify this value from outside of the class.

BTW, this field is declared in Super class. Only these two entities met the
problem I described. The rest of them do not have such issue.

Also, the error always comes with a optimistic lock error. But only one
Session Bean is working on these entities.

Thanks,
Gene.


On 9/18/07, Patrick Linskey <[EMAIL PROTECTED]> wrote:
>
> > 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?
>
> There is (presumably) some field in your object that is marked as
> @Version. Are you assigning a value to that field?
>
> -Patrick
>
> On 9/17/07, Gene Woo <[EMAIL PROTECTED]> wrote:
> > 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
> >
>
>
> --
> Patrick Linskey
> 202 669 5907
>



-- 
Best Regards,

Gene Woo

Reply via email to