Jump to: navigation, search

Difference between revisions of "EclipseLink/Examples/JPA/PessimisticLocking"

(Via XML)
(Via XML)
Line 24: Line 24:
 
<entity name="Employee" class="org.eclipse.testing.Employee" access="PROPERTY">
 
<entity name="Employee" class="org.eclipse.testing.Employee" access="PROPERTY">
 
   ...
 
   ...
   <named-query name="findAllEmployeesByFirstName">
+
   <named-query name="findEmployeeByPK">
 
     <query>SELECT OBJECT(employee) FROM Employee employee WHERE employee.id = :id</query>
 
     <query>SELECT OBJECT(employee) FROM Employee employee WHERE employee.id = :id</query>
 
     <hint name="eclipselink.pessimistic-lock" value="eclipselink.pessimistic-lock">
 
     <hint name="eclipselink.pessimistic-lock" value="eclipselink.pessimistic-lock">

Revision as of 15:06, 15 October 2007

EclipseLink allows users the option of using pessimistic locking on their queries. This is done through the use of a query hint.

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=EclipseLinkQueryHints.PESSIMISTIC_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="eclipselink.pessimistic-lock">
  </named-query>
  ...
</entity>