@Repeatable(value=JoinColumns.class) @Target(value={METHOD,FIELD}) @Retention(value=RUNTIME) public @interface JoinColumn
JoinColumn
アノテーション自身がデフォルトの場合、単一の結合カラムが想定され、デフォルト値が適用されます。
Example: @ManyToOne @JoinColumn(name="ADDR_ID") public Address getAddress() { return address; } Example: 外部キーマッピングを使用した単方向の1対多の関連 // In Customer class @OneToMany @JoinColumn(name="CUST_ID") // join column is in table for Order public Set<Order> getOrders() {return orders;}
ManyToOne
,
OneToMany
,
OneToOne
,
JoinTable
,
CollectionTable
,
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
デフォルト(単一の結合カラムが使用された場合のみ適用される):
参照のリレーションシップのプロパティの名前または参照元のエンティティまたは埋め込み可能クラスのフィールド + "_" + 参照される主キーのカラムの名前
エンティティにそのような参照のリレーションシップのプロパティまたはフィールドがない場合、もしくは要素コレクションの結合である場合、結合カラム名は次のようになります。
エンティティの名前 + "_" + 参照される主キーのカラムの名前
public abstract java.lang.String referencedColumnName
JoinTable
アノテーション内で使用される場合、参照されるキーのカラムは所有側のエンティティのテーブルにあり、
逆側の結合の定義の一部である場合は逆側のエンティティのテーブルにあります。
CollectionTable
マッピングで使用される場合、参照されるカラムはコレクションを含むエンティティのテーブルにあります。
デフォルト (単一の結合カラムが使用された場合のみ適用される): 参照先のテーブルの主キーのカラムと同じ名前。
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.