RowInconsistentException (JBO-25014) Ignored By Second Commit
(Doc ID 842855.1)
Last updated on MAY 17, 2021
Applies to:
Oracle JDeveloper - Version 10.1.3.0.4 and laterInformation in this document applies to any platform.
This problem can occur on any platform.
Symptoms
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 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.
Changes
Cause
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
Symptoms |
Changes |
Cause |
Solution |
References |