@Target(value=TYPE) @Retention(value=RUNTIME) public @interface NamedQuery
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();
 | Modifier and Type | Required Element and Description | 
|---|---|
String | 
name
(Required) The name used to refer to the query with the  
EntityManager 
 methods that create query objects. | 
String | 
query
(Required) 
 The query string in the Java Persistence query language. 
 | 
| Modifier and Type | Optional Element and Description | 
|---|---|
QueryHint[] | 
hints
(Optional) Query properties and hints. 
 | 
LockModeType | 
lockMode
(Optional) The lock mode type to use in query execution. 
 | 
public abstract String name
EntityManager 
 methods that create query objects.public abstract String query
public abstract LockModeType lockMode
lockMode
 other than LockModeType.NONE is specified, the query must be executed in
 a transaction and the persistence context joined to the transaction.public abstract QueryHint[] hints
Copyright © 1996-2015, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.