Top Description Methods
jakarta.persistence

public @Interface NamedQuery

extends Annotation
Annotations
@Repeatable:NamedQueries
@Target:TYPE
@Retention:RUNTIME
Imports
java.lang.annotation.Repeatable, .Target, .Retention

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(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")
@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();
@PersistenceContext EntityManager em;
...
List<Customer> customers = em.createNamedQuery("findAllCustomersWithName", Customer.class)
              .setParameter("custName", "Smith")
              .getResultList();
The NamedQuery annotation can be applied to an entity class or mapped superclass.
Since
1.0

Method Summary

Modifier and TypeMethod and Description
public QueryHint[]
hints()

(Optional) Query properties and hints.

public LockModeType
lockMode()

(Optional) The lock mode type to use in query execution.

public String
name()

(Required) The name used to identify the query in calls to EntityManager#createNamedQuery.

public String
query()

(Required) The query string in the Jakarta Persistence query language.

public Class<?>
resultClass()

(Optional) The class of each query result.

Inherited from java.lang.annotation.Annotation:
annotationTypeequalshashCodetoString

Method Detail

hintsback to summary
public QueryHint[] hints()

(Optional) Query properties and hints. May include vendor-specific query hints.

lockModeback to summary
public LockModeType lockMode()

(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
2.0
nameback to summary
public String name()

(Required) The name used to identify the query in calls to EntityManager#createNamedQuery.

queryback to summary
public String query()

(Required) The query string in the Jakarta Persistence query language.

resultClassback to summary
public Class<?> resultClass()

(Optional) The class of each query result. The result class may be overridden by explicitly passing a class object to EntityManager#createNamedQuery(String, Class). 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[].