EntityManager#createNamedQuery(String, Class).
The following is an example of the definition of a named query written in the Jakarta Persistence query language:
@NamedQuery(
name = "findAllCustomersWithName",
query = "SELECT c FROM Customer c WHERE c.name LIKE :custName")
The named query may be executed like this:
@PersistenceContext EntityManager em;
...
List<Customer> customers = em.createNamedQuery("findAllCustomersWithName", Customer.class)
.setParameter("custName", "Smith")
.getResultList();
NamedQuery annotation can be applied to an entity
class or mapped superclass.
| Modifier and Type | Method and Description |
|---|---|
| public QueryHint[] | |
| public LockModeType | |
| public String | |
| public String | |
| public Class |
| hints | back to summary |
|---|---|
| public QueryHint[] hints() (Optional) Query properties and hints. May include vendor-specific query hints. | |
| lockMode | back to summary |
|---|---|
| public LockModeType lockMode() (Optional) The lock mode type to use in query execution.
If a
| |
| name | back to summary |
|---|---|
| public String name() (Required) The name used to identify the query in calls to
| |
| query | back to summary |
|---|---|
| public String query() (Required) The query string in the Jakarta Persistence query language. | |
| resultClass | back to summary |
|---|---|
| public Class (Optional) The class of each query result. The result class
may be overridden by explicitly passing a class object to
| |