@Target({ElementType.FIELD, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) public @interface Value { /** * Types of the values. This can be determined if using JDK1.5 generics * but is required otherwise. Multiple types can be specified if the * implementation supports multiple types. * @return the types of values */ Class[] types() default {}; /** * Whether the value is to be stored serialized (into a single column of a * join table). * @return Whether the value is to be stored serialized (into a join table) */ String serialized() default ""; /** Whether this value is embedded. * @return whether this value is embedded */ String embedded() default ""; /** * The embedded mapping for the value. * @return the embedded mapping for the value */ Embedded[] embeddedMapping() default {}; /** * Whether the value is dependent on the owner (and will be deleted * when the owner is deleted). * @return whether the value is dependent on the owner */ String dependent() default ""; /** * Name of the table for the value. * @return the name of the table for the value */ String table() default ""; /** * Name of the column to store the value in. * @return the name of the column to store the value in */ String column() default ""; /** * Delete action to apply to any foreign key for the value. * @return delete action to apply to any foreign key for the value */ ForeignKeyAction deleteAction() default ForeignKeyAction.UNSPECIFIED; /** * Update action to apply to any foreign key for the value. * @return update action to apply to any foreign key for the value */ ForeignKeyAction updateAction() default ForeignKeyAction.UNSPECIFIED; /** * Whether the value column(s) should be indexed. * @return whether the value column(s) should be indexed. */ String indexed() default ""; /** The name of the index to generate. * @return the name of the index */ String index() default ""; /** * Whether the element column(s) contents should be considered unique * @return whether the element column(s) contents should be considered unique */ String unique() default ""; /** * The name of the unique key constraint to generate. * @return the name of the unique key constraint */ String uniqueKey() default ""; /** * Name of a member in the key class where this value is stored. * @return the name of a member in the key class where this value is stored */ String mappedBy() default ""; /** * The column(s) for the value. * @return the column(s) for the value */ Column[] columns() default {}; /** Generate or assume a foreign key constraint exists on the column * or columns associated with this join. Specify "true" or "false". * @return whether to generate or assume a foreign key constraint */ String generateForeignKey() default ""; /** Name for a generated foreign key constraint. * @return the name of the generated foreign key constraint */ String foreignKey() default ""; /** Vendor extensions. * @return the vendor extensions */ Extension[] extensions() default {}; }