KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > javax > persistence > SqlResultSetMapping


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  * This annotation is used to specify the mapping of the result
32  * of a native SQL query.
33  *
34  * <pre>
35  * Example:
36  *
37  * Query q = em.createNativeQuery(
38  * "SELECT o.id AS order_id, " +
39  * "o.quantity AS order_quantity, " +
40  * "o.item AS order_item, " +
41  * "i.name AS item_name, " +
42  * "FROM Order o, Item i " +
43  * "WHERE (order_quantity > 25) AND (order_item = i.id)",
44  * "OrderResults");
45  *
46  * &#064;SqlResultSetMapping(name="OrderResults",
47  * entities={
48  * &#064;EntityResult(entityClass=com.acme.Order.class, fields={
49  * &#064;FieldResult(name="id", column="order_id"),
50  * &#064;FieldResult(name="quantity", column="order_quantity"),
51  * &#064;FieldResult(name="item", column="order_item")})},
52  * columns={
53  * &#064;ColumnResult(name="item_name")}
54  * )
55  * </pre>
56  *
57  * @since Java Persistence 1.0
58  */

59 @Target JavaDoc({TYPE})
60 @Retention JavaDoc(RUNTIME)
61 public @interface SqlResultSetMapping {
62
63     /**
64      * The name given to the result set mapping, and used to refer
65      * to it in the methods of the {@link Query} API.
66      */

67     String JavaDoc name();
68
69     /** Specifies the result set mapping to entities. */
70     EntityResult[] entities() default {};
71
72     /** Specifies the result set mapping to scalar values. */
73     ColumnResult[] columns() default {};
74 }
75
Popular Tags