Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "EclipseLink/Development/JPA 2.0/entitymanager updates"

(New page: = Updated EntityManager / Query APIs = JPA 2.0 Root | [http://bugs.eclipse.org/248491 Enhancement Request] ==Issue Summary== In JPA 2.0 the specific...)
 
Line 3: Line 3:
 
[http://bugs.eclipse.org/248491 Enhancement Request]
 
[http://bugs.eclipse.org/248491 Enhancement Request]
 
==Issue Summary==
 
==Issue Summary==
In JPA 2.0 the specification extends EntityManager and Query APIs.  New APIs have been added for locking, getting supported properties and getting the owning Entity Manager Factory.
+
In JPA 2.0 the specification extends EntityManager and Query APIs.  New APIs have been added for getting supported properties and getting the owning Entity Manager Factory.
  
 
A new operation 'clear' was also added including a new Cascade Type.  Calling clear on an Entity allows the user to remove an Entity and cascaded related entities from the persistence context.  Effectively an unregister call.
 
A new operation 'clear' was also added including a new Cascade Type.  Calling clear on an Entity allows the user to remove an Entity and cascaded related entities from the persistence context.  Effectively an unregister call.
 +
 +
The new Locking APIs will be covered by the locking functionality feature (http://wiki.eclipse.org/EclipseLink/Development/JPA_2.0/pessimistic_locking)
  
 
See JPA 2.0 ED section 3.1.1 and 3.2.6 for details.
 
See JPA 2.0 ED section 3.1.1 and 3.2.6 for details.
  
 
==General Solution==
 
==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.
+
The implementation of this functionality should be straight forward.
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.
+
 
+
===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.
+
  
 
==Work Required==
 
==Work Required==
# Develop model for testing access type settings
+
# Develop test for testing new non-pessimistic locking APIs
 
#: approx 2 days
 
#: approx 2 days
# Update Processing to process entire table
+
# Update Processing to  
#: approx 2 days - optimistic modes
+
#: approx 3 days - clear(Object entity)
#: approx 3 days - pessimistic modes
+
#: approx 2 days - remaining APIs

Revision as of 15:22, 26 September 2008

Updated EntityManager / Query APIs

JPA 2.0 Root | Enhancement Request

Issue Summary

In JPA 2.0 the specification extends EntityManager and Query APIs. New APIs have been added for getting supported properties and getting the owning Entity Manager Factory.

A new operation 'clear' was also added including a new Cascade Type. Calling clear on an Entity allows the user to remove an Entity and cascaded related entities from the persistence context. Effectively an unregister call.

The new Locking APIs will be covered by the locking functionality feature (http://wiki.eclipse.org/EclipseLink/Development/JPA_2.0/pessimistic_locking)

See JPA 2.0 ED section 3.1.1 and 3.2.6 for details.

General Solution

The implementation of this functionality should be straight forward.

Work Required

  1. Develop test for testing new non-pessimistic locking APIs
    approx 2 days
  2. Update Processing to
    approx 3 days - clear(Object entity)
    approx 2 days - remaining APIs

Back to the top