My Oracle Support Banner

RowInconsistentException (JBO-25014) Ignored By Second Commit (Doc ID 842855.1)

Last updated on MAY 17, 2021

Applies to:

Oracle JDeveloper - Version and later
Information in this document applies to any platform.
This problem can occur on any platform.


With jbo.locking.mode=optimistic, error JBO-25014 is only raised at the first attempt to commit a record that has already been updated by another session.
If you try to commit your changes a second time, then the error JBO-25014 isn't raised anymore, and the commit succeeds.
As result, the modifications made in another session are lost.

See the following example:


* User A queries some row (Row1)
* User B queries same row
* User A modifies some numeric attribute from 5000 to 4999, and then <FIELD1>  from NULL to 1 and commits
* User B modifies same <FIELD1> from NULL to 55 and commits
* User B receives the "RowInconsistentException"

You can see then that:

* Modified value of <FIELD1> in User B's row stays at its modified value "55" (as would any attributes that are modified in its current transaction)
* Any unmodified values (like User B's row's numeric field value) will be refreshed to the current state of the database, so it should now be the original value "4999"


When using jbo.locking.mode=pessimistic, the problem doesn't occur:
the error JBO-25014 is displayed, but the values of the EO attributes are reset to the values fetched from the DB.




To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!

In this Document

My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.