@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