Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "EclipseLink/Development/JPA 2.0/pessimistic locking"
(→Important Notes) |
|||
Line 18: | Line 18: | ||
==Important Notes== | ==Important Notes== | ||
# Pessimistically locked object with version must still have version updated when entity is updated. | # Pessimistically locked object with version must still have version updated when entity is updated. | ||
+ | # A considerable amount of behaviour definition will be found in the java docs of the EntityManger and Query APIs | ||
==Work Required== | ==Work Required== |
Revision as of 13:59, 26 September 2008
Contents
Lock Modes / Pessimistic Locking
JPA 2.0 Root | Enhancement Request
Issue Summary
In JPA 2.0 the specification extends Entity Manager lock mechanism to include explicit support for pessimistic locking.
See JPA 2.0 ED section 3.4.3 and 3.4.4 for details.
General Solution
This feature requires adding support to EntityManager and Query to allow a user to supply new LockModeTypes and comply with the specification defined behaviour. Pessimistic Locking and Optimistic Locking LockModesTypes will be covered. Optimistic Lock Modes will be a straight translation of existing modes. Pessimistic Lock Modes will require pessimistic locking support be added to the EntityManager and Query. Lock Timeout hint will also be supported
Open Issues
Will Target table mappings (uni-directional OneToMany, ElementCollections) require that target rows also be locked?
Important Notes
- Pessimistically locked object with version must still have version updated when entity is updated.
- A considerable amount of behaviour definition will be found in the java docs of the EntityManger and Query APIs
Work Required
- Develop model for testing access type settings
- approx 2 days
- Update Processing to process entire table
- approx 2 days - optimistic modes
- approx 3 days - pessimistic modes