| @Target({ElementType.TYPE, ElementType.FIELD, ElementType.METHOD}) |
| @Retention(RetentionPolicy.RUNTIME) |
| public @interface Join |
| { |
| /** Table to join to (used when joining to secondary tables). |
| * @return the table |
| */ |
| String table() default ""; |
| |
| /** Name of the column in the join table. |
| * @return the name of the column in the join table |
| */ |
| String column() default ""; |
| |
| /** Whether the join column is indexed. |
| * @return whether the join column(s) is(are) indexed |
| */ |
| String indexed() default ""; |
| |
| /** The name of the index to generate. |
| * @return the name of the index |
| */ |
| String index() default ""; |
| |
| /** Whether the join column is unique. |
| * @return whether the join column(s) is(are) is unique |
| */ |
| String unique() default ""; |
| |
| /** |
| * The name of the unique key constraint to generate. |
| * @return the name of the unique key constraint |
| */ |
| String uniqueKey() default ""; |
| |
| /** Whether to use an outer join. |
| * @return whether to use an outer join |
| */ |
| String outer() default ""; |
| |
| /** Delete action to be applied to any ForeignKey on this join. |
| * @return the delete action |
| */ |
| ForeignKeyAction deleteAction() default ForeignKeyAction.UNSPECIFIED; |
| |
| /** Detail definition of the join column(s). This is needed for |
| * more than one join column. |
| * @return the join columns |
| */ |
| Column[] columns() default {}; |
| |
| /** Generate or assume a primary key constraint exists on the column |
| * or columns associated with this join. Specify "true" or "false". |
| * @return whether to generate or assume a primary key constraint |
| */ |
| String generatePrimaryKey() default ""; |
| |
| /** Name for a generated primary key constraint. |
| * @return the name of the generated primary key constraint |
| */ |
| String primaryKey() 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 {}; |
| } |