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 on a member to define it as a primary key member of a class or
26 * persistent interface using application identity.
27 * Also used to define the primary key columns of a secondary table.
28 * Corresponds to the xml element "primary-key".
29 *
30 * @version 2.1
31 * @since 2.1
32 */
33 @Target({ElementType.TYPE, ElementType.FIELD, ElementType.METHOD})
34 @Retention(RetentionPolicy.RUNTIME)
35 public @interface PrimaryKey
36 {
37 /**
38 * Name of the primary key constraint
39 * @return the name of the primary key constraint
40 */
41 String name() default "";
42
43 /**
44 * Name of the column to use for the primary key
45 * @return the name of the column to use for the primary key
46 */
47 String column() default "";
48
49 /**
50 * The column(s) for the primary key
51 * @return the column(s) for the primary key
52 */
53 Column[] columns() default {};
54 }