JPA Annotation

NamedQuery

Target: TYPE
Implemented Interfaces:
Annotation

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 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: {@snippet :

Since:
JPA 1.0
The JPA Named Queries article explains how to use NamedQuery.

Public Annotation Attributes

QueryHint[] hints default {}
(Optional) Query properties and hints.
May include vendor-specific query hints.
Since:
JPA 1.0
LockModeType lockMode default LockModeType.NONE
(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:
JPA 2.0
String name default null
(Required) The name used to identify the query in calls to createNamedQuery().
Since:
JPA 1.0
String query default null
(Required) The query string in the Jakarta Persistence query language.
Since:
JPA 1.0
Class<?> resultClass default void.class
(Optional) The class of each query result.
The result class may be overridden by explicitly passing a class object to 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:
JPA 1.0