JPA Annotation

NamedQuery

Target: TYPE
Implemented Interfaces:
Annotation

Specifies a static, named query in the Java Persistence query language. Query names are scoped to the persistence unit. The NamedQuery annotation can be applied to an entity or mapped superclass.

The following is an example of the definition of a named query in the Java Persistence query language:

    @NamedQuery(
            name="findAllCustomersWithName",
            query="SELECT c FROM Customer c WHERE c.name LIKE :custName"
    )

The following is an example of the use of a named query:

    @PersistenceContext
    public EntityManager em;
    ...
    customers = em.createNamedQuery("findAllCustomersWithName")
            .setParameter("custName", "Smith")
            .getResultList();
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 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 refer to the query with the EntityManager methods that create query objects.
Since:
JPA 1.0
String query default null
(Required) The query string in the Java Persistence query language.
Since:
JPA 1.0