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 the fetch plan of a persistence manager, query, or extent.
26 * Corresponds to the xml element "fetch-plan".
27 *
28 * @version 2.1
29 * @since 2.1
30 */
31 @Target(ElementType.TYPE)
32 @Retention(RetentionPolicy.RUNTIME)
33 public @interface FetchPlan
34 {
35 /**
36 * Name of the fetch plan.
37 * @return the name of the fetch plan
38 */
39 String name() default "";
40
41 /**
42 * The fetch groups in this fetch plan.
43 * @return the fetch groups
44 */
45 String[] fetchGroups() default {};
46
47 /**
48 * The depth of references to instantiate, starting with the root object.
49 * @return the maxium fetch depth
50 */
51 int maxFetchDepth() default 1;
52
53 /**
54 * The number of instances of multi-valued fields retrieved by queries.
55 * @return the fetch size
56 */
57 int fetchSize() default 0;
58 }