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.
EclipseLink/Development/JPA 2.0/entitymanager updates
Contents
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) but as Query Hints can now be provided to lock, find and refresh calls this feature must add support for EM processing of these Query Hints.
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
- Develop test for testing new non-pessimistic locking APIs
- approx 2 days
- Update Processing to
- approx 3 days - clear(Object entity)
- approx 2 days - remaining APIs
- approx 2 days - Query Hints
Work Completed
Implementation of the following functions have been completed so far in EM API Update:
public Map<String,Object> getProperties();
- public Set<String> getSupportedProperties();
- public void clear(Object entity);
- public LockModeType getLockMode(Object entity);
- public <T> T unwrap(Class<T> cls);
- public EntityManagerFactory getEntityManagerFactory();