1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package javax.jdo.annotations;
18
19 import java.lang.annotation.ElementType;
20 import java.lang.annotation.Retention;
21 import java.lang.annotation.RetentionPolicy;
22 import java.lang.annotation.Target;
23
24 /**
25 * Annotation for a named query.
26 * Corresponds to the xml element "query".
27 *
28 * @version 2.1
29 * @since 2.1
30 */
31 @Target(ElementType.TYPE)
32 @Retention(RetentionPolicy.RUNTIME)
33 public @interface Query
34 {
35 /** Name of the query (mandatory)
36 * @return the name of the query
37 */
38 String name();
39
40 /** The query string (mandatory)
41 * @return the query string
42 */
43 String value();
44
45 /** The query language
46 * @return the query language
47 */
48 String language() default "JDOQL";
49
50 /** Whether the query is unmodifiable.
51 * @return whether the query is unmodifiable
52 */
53 String unmodifiable() default "";
54
55 /** Whether the query returns a single unique result.
56 * @return whether the query returns a single unique result
57 */
58 String unique() default "";
59
60 /** Result class into which to put the results.
61 * @return the class of the result
62 */
63 Class resultClass() default void.class;
64
65 /** The name of the fetch plan used by this query
66 * @return the fetch plan
67 */
68 String fetchPlan() default "";
69
70 /** Vendor extensions.
71 * @return the vendor extensions
72 */
73 Extension[] extensions() default {};
74 }