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. This is done through the use of a query hint.
See:
- org.eclipse.persistence.jpa.config.EclipseLinkQueryHints
- org.eclipse.persistence.jpa.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=EclipseLinkQueryHints.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>