@RepeatableSE(valueSE=JoinColumns.class) @TargetSE(valueSE={METHODSE,FIELDSE}) @RetentionSE(valueSE=RUNTIMESE) public @interface JoinColumn
JoinColumn アノテーション自体がデフォルト設定されている場合、単一の結合列が想定され、デフォルト値が適用されます。
Example:
@ManyToOne
@JoinColumn(name="ADDR_ID")
public Address getAddress() { return address; }
Example: unidirectional one-to-many association using a foreign key mapping
// 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| 修飾子と型 | オプションの要素と説明 |
|---|---|
StringSE | columnDefinition(オプション)列の DDL を生成するときに使用される SQL フラグメント。 |
ForeignKey | foreignKey(オプション)テーブル生成が有効な場合に、外部キー制約の生成を指定または制御するために使用されます。 |
boolean | insertable(オプション)永続プロバイダーによって生成された SQL INSERT ステートメントに列が含まれるかどうか。 |
StringSE | name(オプション)外部キー列の名前。 |
boolean | nullable(オプション)外部キー列が NULL 可能かどうか。 |
StringSE | referencedColumnName(オプション)この外部キー列によって参照される列の名前。 |
StringSE | table(オプション)列を含むテーブルの名前。 |
boolean | unique(オプション)プロパティが一意のキーであるかどうか。 |
boolean | updatable(オプション)永続プロバイダーによって生成された SQL UPDATE ステートメントに列が含まれるかどうか。 |
public abstract StringSE name
デフォルト(単一の結合列が使用されている場合にのみ適用されます): 以下の連結: 参照エンティティまたは埋め込み可能クラスの参照関連プロパティまたはフィールドの名前。"_" ; 参照される主キー列の名前。エンティティにそのような参照関連のプロパティまたはフィールドがない場合、または結合が要素コレクションに対するものである場合、結合列名は次の連結として形成されます。エンティティの名前。"_" ; 参照される主キー列の名前。
public abstract StringSE referencedColumnName
JoinTable アノテーション内で使用される場合、参照されるキー列は、所有エンティティのエンティティテーブルにあります。結合が逆結合定義の一部である場合は、逆エンティティになります。CollectionTable マッピングで使用される場合、参照される列は、コレクションを含むエンティティのテーブルにあります。デフォルト(単一の結合列が使用されている場合にのみ適用されます): 参照されるテーブルの主キー列と同じ名前。
public abstract boolean unique
UniqueConstraint アノテーションのショートカットであり、一意キー制約が単一のフィールドのみである場合に役立ちます。外部キーの一部である主キーに対応する結合列に対して、これを明示的に指定する必要はありません。public abstract boolean insertable
public abstract boolean updatable
public abstract StringSE columnDefinition
デフォルトでは、列に対して生成された SQL になります。
public abstract StringSE table
デフォルト:
public abstract ForeignKey foreignKey
Copyright © 2018,2020 Eclipse Foundation.
Use is subject to license terms.