@Repeatable(value=MapKeyJoinColumns.class) @Target(value={METHOD,FIELD}) @Retention(value=RUNTIME) public @interface MapKeyJoinColumn
MapKeyJoinColumn
が指定されていない場合は単一の結合カラムが使用され、デフォルト値が適用されます。
Example 1: @Entity public class Company { @Id int id; ... @OneToMany // 単方向 @JoinTable(name="COMPANY_ORGANIZATION", joinColumns=@JoinColumn(name="COMPANY"), inverseJoinColumns=@JoinColumn(name="VICEPRESIDENT")) @MapKeyJoinColumn(name="DIVISION") Map<Division, VicePresident> organization; } Example 2: @Entity public class VideoStore { @Id int id; String name; Address location; ... @ElementCollection @CollectionTable(name="INVENTORY", joinColumns=@JoinColumn(name="STORE")) @Column(name="COPIES_IN_STOCK") @MapKeyJoinColumn(name="MOVIE", referencedColumnName="ID") Map<Movie, Integer> videoInventory; ... } @Entity public class Movie { @Id long id; String title; ... } Example 3: @Entity public class Student { @Id int studentId; ... @ManyToMany // studentsとcoursesはそれぞれmany-many @JoinTable(name="ENROLLMENTS", joinColumns=@JoinColumn(name="STUDENT"), inverseJoinColumns=@JoinColumn(name="SEMESTER")) @MapKeyJoinColumn(name="COURSE") Map<Course, Semester> enrollment; ... }
ForeignKey
修飾子とタイプ | 任意要素と説明 |
---|---|
java.lang.String |
columnDefinition
(オプション) このカラムが生成されるときのDDLで使用されるSQLフラグメント。
|
ForeignKey |
foreignKey
(オプション) テーブルの生成が有効な場合に主キー結合カラムの外部キー制約の生成を指定または制御するために使用されます。
|
boolean |
insertable
(オプション) 永続化プロバイダによって生成されたSQL INSERTステートメントにカラムが含まれるかどうか。
|
java.lang.String |
name
(オプション) マップキーのための外部キーのカラムの名前。
|
boolean |
nullable
(オプション) 外部キーのカラムにnullを入れられるかどうか。
|
java.lang.String |
referencedColumnName
(オプション) この外部キーのカラムによって参照されるカラムの名前。
|
java.lang.String |
table
(オプション) 外部キーのカラムが含まれるテーブルの名前。
|
boolean |
unique
(オプション) このプロパティがユニークキーかどうか。
|
boolean |
updatable
(オプション) 永続化プロバイダによって生成されたSQL UPDATEステートメントにカラムが含まれるかどうか。
|
public abstract java.lang.String name
(単一の結合カラムが使用された場合のみ適用される)デフォルトのカラム名は次のものを連結します。 :参照するエンティティや組み込みクラスの参照するリレーションシップのプロパティやフィールド + "_" + "KEY"
public abstract java.lang.String referencedColumnName
public abstract boolean unique
UniqueConstraint
アノテーションのショートカットであり、
ユニークキー制約が単一のフィールドだけである場合に便利です。public abstract boolean insertable
public abstract boolean updatable
public abstract java.lang.String columnDefinition
public abstract java.lang.String table
デフォルト:
public abstract ForeignKey foreignKey
Translated by @megascus.