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.Public Instance Methods
May include vendor-specific query hints.
- 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.- Since:
- Jakarta Persistence (JPA) 2.0
String name()- Since:
- Jakarta Persistence (JPA) 1.0
String query()- Since:
- Jakarta Persistence (JPA) 1.0
Class<?> resultClass()The 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[].- Since:
- Jakarta Persistence (JPA) 1.0
Annotation Elements
This is a marker annotation with no members/elements.
Additional JDK methods inherited from java.lang.annotation.Annotation
java.lang.annotation.Annotation/annotationType(), java.lang.annotation.Annotation/equals(Object), java.lang.annotation.Annotation/hashCode(), java.lang.annotation.Annotation/toString()