KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > javax > persistence > NamedQuery


1 /*
2  * The contents of this file are subject to the terms
3  * of the Common Development and Distribution License
4  * (the License). You may not use this file except in
5  * compliance with the License.
6  *
7  * You can obtain a copy of the license at
8  * https://glassfish.dev.java.net/public/CDDLv1.0.html or
9  * glassfish/bootstrap/legal/CDDLv1.0.txt.
10  * See the License for the specific language governing
11  * permissions and limitations under the License.
12  *
13  * When distributing Covered Code, include this CDDL
14  * Header Notice in each file and include the License file
15  * at glassfish/bootstrap/legal/CDDLv1.0.txt.
16  * If applicable, add the following below the CDDL Header,
17  * with the fields enclosed by brackets [] replaced by
18  * you own identifying information:
19  * "Portions Copyrighted [year] [name of copyright owner]"
20  *
21  * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
22  */

23 package javax.persistence;
24
25 import java.lang.annotation.Target JavaDoc;
26 import java.lang.annotation.Retention JavaDoc;
27 import static java.lang.annotation.ElementType.TYPE JavaDoc;
28 import static java.lang.annotation.RetentionPolicy.RUNTIME JavaDoc;
29
30 /**
31  * Is used to specify a named query in the Java Persistence query language,
32  * which is a static query expressed in metadata.
33  * Query names are scoped to the persistence unit.
34  *
35  * <p> The following is an example of the definition of a named query
36  * in the Java Persistence query language:
37  *
38  * <pre>
39  * &#064;NamedQuery(
40  * name="findAllCustomersWithName",
41  * query="SELECT c FROM Customer c WHERE c.name LIKE :custName"
42  * )
43  * </pre>
44  *
45  * <p> The following is an example of the use of a named query:
46  *
47  * <pre>
48  * &#064;PersistenceContext
49  * public EntityManager em;
50  * ...
51  * customers = em.createNamedQuery("findAllCustomersWithName")
52  * .setParameter("custName", "Smith")
53  * .getResultList();
54  * </pre>
55  *
56  * @since Java Persistence 1.0
57  */

58 @Target JavaDoc({TYPE})
59 @Retention JavaDoc(RUNTIME)
60 public @interface NamedQuery {
61
62     /**
63      * Refers to the query when using the {@link EntityManager}
64      * methods that create query objects.
65      */

66     String JavaDoc name();
67
68     /** The query string in the Java Persistence query language */
69     String JavaDoc query();
70
71     /** Vendor-specific query hints */
72     QueryHint[] hints() default {};
73 }
74
Popular Tags