/*
* Copyright (c) 2008, 2009, 2011 Oracle, Inc. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0
* which accompanies this distribution. The Eclipse Public License is available
* at http://www.eclipse.org/legal/epl-v10.html and the Eclipse Distribution License
* is available at http://www.eclipse.org/org/documents/edl-v10.php.
*/
package com.fr.third.javax.persistence;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
import static com.fr.third.javax.persistence.LockModeType.NONE;
/**
* 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 Java Persistence 1.0 */ @Target({TYPE}) @Retention(RUNTIME) public @interface NamedQuery { /** * (Required) The name used to refer to the query with the {@link EntityManager} * methods that create query objects. */ String name(); /** (Required) * The query string in the Java Persistence query language. */ String query(); /** * (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.
* @since Java Persistence 2.0
*/
LockModeType lockMode() default NONE;
/** (Optional) Query properties and hints. May include
* vendor-specific query hints.
*/
QueryHint[] hints() default {};
}