Jakarta Persistence (JPA) Annotation Type
jakarta.persistence.NamedQuery
- Implemented Interfaces:
Annotation
- Target:
- Type
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
EntityManager.createNamedQuery. 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 customers = em.createNamedQuery("findAllCustomersWithName", Customer.class) .setParameter("custName", "Smith") .getResultList();The
NamedQuery annotation can be applied to an entity class or mapped superclass.- Since:
- Jakarta Persistence (JPA) 1.0
The JPA Named Queries article explains how to use
NamedQuery.Annotation Elements
String name- Since:
- Jakarta Persistence (JPA) 1.0
String query- Since:
- Jakarta Persistence (JPA) 1.0
Class<?> resultClassThe result class may be overridden by explicitly passing a class object to
EntityManager.createNamedQuery. If the result class of a named query is not specified, the persistence implementation is entitled to default the result class to Object or Object[].- Default:
void/class
- Since:
- Jakarta Persistence (JPA) 1.0
If a
lockMode other than LockModeType.NONE is specified, the query must be executed in a transaction and the persistence context joined to the transaction.- Default:
LockModeType.NONE
- Since:
- Jakarta Persistence (JPA) 2.0
May include vendor-specific query hints.
- Default:
- {}
- Since:
- Jakarta Persistence (JPA) 1.0
Additional JDK methods inherited from java.lang.annotation.Annotation
annotationType(), equals(Object), hashCode(), toString()