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/Examples/JPA/PessimisticLocking
< EclipseLink | Examples | JPA
EclipseLink allows users the option of using pessimistic locking on their queries. In JPA 1.0 this can be done through the use of a query hint.
Pessimistic locking is also supported in JPA 2.0 using the LockMode on a Query.
See:
- org.eclipse.persistence.config.QueryHints
- org.eclipse.persistence.config.PessimisticLock
- Configuring a Locking Policy in the EclipseLink User's Guide
Via Annotations
@Entity @Table(name="JPA_EMPLOYEE") @NamedQuery( name="findEmployeeByPK", query="SELECT OBJECT(employee) FROM Employee employee WHERE employee.id = :id"), hints={ @QueryHint( name=QueryHints.PESSIMISTIC_LOCK, value=PessimisticLock.Lock) } ) public class Employee implements Serializable { ... }
Via XML
<entity name="Employee" class="org.eclipse.testing.Employee" access="PROPERTY"> ... <named-query name="findEmployeeByPK"> <query>SELECT OBJECT(employee) FROM Employee employee WHERE employee.id = :id</query> <hint name="eclipselink.pessimistic-lock" value="Lock"> </named-query> ... </entity>