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

(Optional) Query properties and hints.
May include vendor-specific query hints.
Since:
Jakarta Persistence (JPA) 1.0
(Optional) The lock mode type to use in query execution.
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()
(Required) The name used to identify the query in calls to EntityManager.createNamedQuery.
Since:
Jakarta Persistence (JPA) 1.0
String query()
(Required) The query string in the Jakarta Persistence query language.
Since:
Jakarta Persistence (JPA) 1.0
Class<?> resultClass()
(Optional) The class of each query result.
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()