View as "text/plain" |
Blame |
Last modification |
View Log
| RSS feed
1
//$Id: JoinTable.java 11282 2007-03-14 22:05:59Z epbernard $
//EJB3 Specification Copyright 2004-2006 Sun Microsystems, Inc.
package javax.persistence;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
import static java.lang.annotation.ElementType.*;
import static java.lang.annotation.RetentionPolicy.*;
/**
* This annotation is used in the mapping of associations. It is specified on the owning
* side of a many-to-many association, or in a unidirectional one-to-many association.
*
* If the JoinTable annotation is missing, the default values of the annotation elements apply.
* The name of the join table is assumed to be the table names of the associated primary tables
* concatenated together (owning side first) using an underscore.
*
* @author Emmanuel Bernard
*/
@
Target({METHOD, FIELD
}) @
Retention(RUNTIME
)
public @
interface JoinTable
{
/**
* The name of the join table.
*
* Defaults to the concatenated names of the two associated primary entity tables,
* separated by an underscore
*/
String name
() default "";
/**
* The catalog of the table.
*
* Defaults to the default catalog.
*/
String catalog
() default "";
/**
* The schema of the table.
*
* Defaults to the default schema for user.
*/
String schema
() default "";
/**
* The foreign key columns of the join table which reference the primary table of the
* entity owning the association (i.e. the owning side of the association).
*
* Uses the same defaults as for JoinColumn.
*/
JoinColumn
[] joinColumns
() default {};
/**
* The foreign key columns of the join table which reference the primary table of the entity
* that does not own the association (i.e. the inverse side of the association).
*
* Uses the same defaults as for JoinColumn
*/
JoinColumn
[] inverseJoinColumns
() default {};
/**
* Unique constraints that are to be placed on the table. These are only used if table
* generation is in effect.
*
* Defaults to no additional constraints
*/
UniqueConstraint
[] uniqueConstraints
() default {};
}