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.
Difference between revisions of "EclipseLink/Examples/JPA/PessimisticLocking"
< EclipseLink | Examples | JPA
(3 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | EclipseLink allows users the option of using pessimistic locking on their queries. | + | [[Category:EclipseLink/Example/JPA|PessimisticLocking]] |
+ | |||
+ | 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: | See: | ||
− | * org.eclipse.persistence | + | * org.eclipse.persistence.config.QueryHints |
− | * org.eclipse.persistence | + | * org.eclipse.persistence.config.PessimisticLock |
+ | * [[Configuring_a_Descriptor_%28ELUG%29#Configuring_Locking_Policy|Configuring a Locking Policy]] in the ''EclipseLink User's Guide'' | ||
== Via Annotations == | == Via Annotations == | ||
− | < | + | <source lang="java"> |
@Entity | @Entity | ||
@Table(name="JPA_EMPLOYEE") | @Table(name="JPA_EMPLOYEE") | ||
Line 14: | Line 19: | ||
hints={ | hints={ | ||
@QueryHint( | @QueryHint( | ||
− | name= | + | name=QueryHints.PESSIMISTIC_LOCK, |
value=PessimisticLock.Lock) | value=PessimisticLock.Lock) | ||
} | } | ||
Line 22: | Line 27: | ||
} | } | ||
− | </ | + | </source> |
== Via XML == | == Via XML == | ||
− | < | + | <source lang="xml"> |
<entity name="Employee" class="org.eclipse.testing.Employee" access="PROPERTY"> | <entity name="Employee" class="org.eclipse.testing.Employee" access="PROPERTY"> | ||
... | ... | ||
Line 34: | Line 39: | ||
... | ... | ||
</entity> | </entity> | ||
− | </ | + | </source> |
Latest revision as of 10:57, 15 June 2010
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>