280 words

javax.persistence.NamedQuery - JPA annotation

javax.persistence
Annotation NamedQuery

Target:
Classes
Specifies a static, named query in the Java Persistence query language. Query names are scoped to the persistence unit. The 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();

Since:
JPA 1.0
Learn how to define and use named queries in Chapter 4 of the ObjectDB/JPA manual.
(Optional) Query properties and hints.
(Optional) Query properties and hints. May include vendor-specific query hints.
Default value:
{}
Since:
JPA 1.0
(Optional) The lock mode type to use in query execution.
(Optional) The lock mode type to use in query execution. If a lockMode other than LockModeType.NONE is specified, the query must be executed in a transaction.
Default value:
javax.persistence.LockModeType.NONE
Since:
JPA 2.0
String name
(Required) The name used to refer to the query with the EntityManager methods that create query objects.
(Required) The name used to refer to the query with the EntityManager methods that create query objects.
Since:
JPA 1.0
String query
(Required) The query string in the Java Persistence query language.
(Required) The query string in the Java Persistence query language.
Since:
JPA 1.0

This documentation page is derived (with some adjustments) from the open source JPA 2 RI (EclipseLink)
and is available under the terms of the Eclipse Public License, v. 1.0 and Eclipse Distribution License, v. 1.0.
Object Relational Mapping (ORM) JPA 2 providers include Hibernate, EclipseLink, TopLink, OpenJPA and DataNucleus.
Object DB is not an ORM JPA implementation but an Object Database for Java with built in JPA 2 support.