-
@Repeatable(NamedQueries.class) @Target(TYPE) @Retention(RUNTIME) public @interface NamedQuery
Declares a named query written in the Jakarta Persistence query language. Query names are scoped to the persistence unit. A named query may be executed by callingEntityManager.createNamedQuery(String, Class).The following is an example of the definition of a named query written in the Jakarta Persistence query language: {@snippet :
- Since:
- 1.0
-
-
Required Element Summary
Required Elements Modifier and Type Required Element Description java.lang.Stringname(Required) The name used to identify the query in calls toEntityManager.createNamedQuery(java.lang.String).java.lang.Stringquery(Required) The query string in the Jakarta Persistence query language.
-
Optional Element Summary
Optional Elements Modifier and Type Optional Element Description QueryHint[]hints(Optional) Query properties and hints.LockModeTypelockMode(Optional) The lock mode type to use in query execution.java.lang.Class<?>resultClass(Optional) The class of each query result.
-
-
-
Element Detail
-
name
java.lang.String name
(Required) The name used to identify the query in calls toEntityManager.createNamedQuery(java.lang.String).
-
-
-
resultClass
java.lang.Class<?> resultClass
(Optional) The class of each query result. The result class may be overridden by explicitly passing a class object toEntityManager.createNamedQuery(String, Class). If the result class of a named query is not specified, the persistence implementation is entitled to default the result class toObjectorObject[].- Default:
- void.class
-
-
-
lockMode
LockModeType lockMode
(Optional) The lock mode type to use in query execution. If alockModeother thanLockModeType.NONEis specified, the query must be executed in a transaction and the persistence context joined to the transaction.- Since:
- 2.0
- Default:
- jakarta.persistence.LockModeType.NONE
-
-
-
hints
QueryHint[] hints
(Optional) Query properties and hints. May include vendor-specific query hints.- Default:
- {}
-
-