@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 |
---|---|
java.lang.String |
name
(Required) The name used to refer to the query with the
EntityManager
methods that create query objects. |
java.lang.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 java.lang.String name
EntityManager
methods that create query objects.public abstract java.lang.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