Declares a named query written in the Jakarta Persistence
query language. Query names are scoped to the persistence unit.
A named query may be executed by calling
The
EntityManager.createNamedQuery(String, Class)
.
The following is an example of the definition of a named query written in the Jakarta Persistence query language:
@NamedQuery(
name = "findAllCustomersWithName",
query = "SELECT c FROM Customer c WHERE c.name LIKE :custName")
The named query may be executed like this:
@PersistenceContext EntityManager em;
...
List<Customer> customers = em.createNamedQuery("findAllCustomersWithName", Customer.class)
.setParameter("custName", "Smith")
.getResultList();
NamedQuery
annotation can be applied to an entity
class or mapped superclass.- Since:
- 1.0
-
Required Element Summary
Modifier and TypeRequired ElementDescription(Required) The name used to identify the query in calls toEntityManager.createNamedQuery(java.lang.String)
.(Required) The query string in the Jakarta Persistence query language. -
Optional Element Summary
Modifier and TypeOptional ElementDescription(Optional) Query properties and hints.(Optional) The lock mode type to use in query execution.Class
<?> (Optional) The class of each query result.
-
Element Details
-
name
String name(Required) The name used to identify the query in calls toEntityManager.createNamedQuery(java.lang.String)
. -
query
String query(Required) The query string in the Jakarta Persistence query language. -
resultClass
Class<?> resultClass(Optional) The class of each query result. The result class may be overridden by explicitly passing a class object toEntityManager.createNamedQuery(String, Class)
. If the result class of a named query is not specified, the persistence implementation is entitled to default the result class toObject
orObject[]
.- Default:
void.class
-
lockMode
LockModeType lockMode(Optional) The lock mode type to use in query execution. If alockMode
other thanLockModeType.NONE
is specified, the query must be executed in a transaction and the persistence context joined to the transaction.- Since:
- 2.0
- Default:
NONE
-
hints
QueryHint[] hints(Optional) Query properties and hints. May include vendor-specific query hints.- Default:
{}
-