-
@Target(TYPE) @Retention(RUNTIME) @Repeatable(NamedQueries.class) public @interface NamedQuery
Specifies a static, named query in the Java Persistence query language. Query names are scoped to the persistence unit. TheNamedQueryannotation can be applied to an entity or mapped superclass.The following is an example of the definition of a named query in the Java Persistence query language:
@NamedQuery( name="findAllCustomersWithName", query="SELECT c FROM Customer c WHERE c.name LIKE :custName" )The following is an example of the use of a named query:
@PersistenceContext public EntityManager em; ... customers = em.createNamedQuery("findAllCustomersWithName") .setParameter("custName", "Smith") .getResultList();- Since:
- Java Persistence 1.0
-
-
Optional Element Summary
Optional Elements Modifier and Type Optional Element Description QueryHint[]hints(Optional) Query properties and hints.LockModeTypelockMode(Optional) The lock mode type to use in query execution.
-
-
-
Element Detail
-
name
String name
(Required) The name used to refer to the query with theEntityManagermethods that create query objects.- Returns:
- The name
-
-
-
query
String query
(Required) The query string in the Java Persistence query language.- Returns:
- The query
-
-
-
lockMode
LockModeType lockMode
(Optional) The lock mode type to use in query execution. If alockModeother thanLockModeType.NONEis specified, the query must be executed in a transaction.- Returns:
- The lock mode
- Since:
- Java Persistence 2.0
- Default:
- javax.persistence.LockModeType.NONE
-
-
-
hints
QueryHint[] hints
(Optional) Query properties and hints. May include vendor-specific query hints.- Returns:
- The hints
- Default:
- {}
-
-