@Repeatable(NamedQueries.class) @Target(TYPE) @Retention(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 | 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 | Description |
|---|---|---|
QueryHint[] |
hints |
(Optional) Query properties and hints.
|
LockModeType |
lockMode |
(Optional) The lock mode type to use in query execution.
|
java.lang.String name
EntityManager
methods that create query objects.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.QueryHint[] hints
Copyright © 2018. All rights reserved.