パッケージ jakarta.persistence
アノテーション型 JoinTable
@TargetSE({METHODSE,FIELDSE}) @RetentionSE(RUNTIMESE) public @interface JoinTable
関連付けのマッピングを指定します。これは、協会の所有側に適用されます。結合テーブルは通常、多対多のマッピングおよび一方向の 1 対多の関連付けに使用されます。また、双方向の many-to-one/one-to-many 関連付け、単方向の多対 1 関連、および 1 対 1 関連付け (双方向と単方向の両方) をマッピングするために使用することもできます。
関連の所有側にある埋め込み可能クラスとの関連のマッピングに結合テーブルが使用される場合、埋め込み可能クラスではなく包含エンティティが関連の所有者と見なされます。
JoinTable
アノテーションが欠落している場合、アノテーション要素のデフォルト値が適用されます。結合テーブルの名前は、アンダースコアを使用して連結された(所有側が最初)関連するプライマリテーブルのテーブル名であると見なされます。Example: @JoinTable( name="CUST_PHONE", joinColumns= @JoinColumn(name="CUST_ID", referencedColumnName="ID"), inverseJoinColumns= @JoinColumn(name="PHONE_ID", referencedColumnName="ID") )
- 導入:
- 1.0
- 関連事項:
JoinColumn
,JoinColumns
オプション要素のサマリー
オプション要素 修飾子と型 オプションの要素 説明 StringSE
catalog
(オプション)テーブルのカタログ。ForeignKey
foreignKey
(オプション)テーブル生成が有効な場合に、joinColumns
要素に対応する列の外部キー制約の生成を指定または制御するために使用されます。Index[]
indexes
(オプション)テーブルのインデックス。ForeignKey
inverseForeignKey
(オプション)テーブル生成が有効な場合に、inverseJoinColumns
要素に対応する列の外部キー制約の生成を指定または制御するために使用されます。JoinColumn[]
inverseJoinColumns
(オプション)関連付けを所有していないエンティティのプライマリテーブルを参照する結合テーブルの外部キー列。JoinColumn[]
joinColumns
(オプション)関連付けを所有するエンティティのプライマリテーブルを参照する結合テーブルの外部キー列。StringSE
name
(オプション)結合テーブルの名前。StringSE
schema
(オプション)テーブルのスキーマ。UniqueConstraint[]
uniqueConstraints
(オプション)テーブルに配置される一意の制約。
要素の詳細
name
StringSE name
(オプション)結合テーブルの名前。デフォルトは、アンダースコアで区切られた、関連付けられた 2 つのプライマリエンティティテーブルの連結名です。
- デフォルト:
- ""
catalog
StringSE catalog
(オプション)テーブルのカタログ。デフォルトはデフォルトカタログです。
- デフォルト:
- ""
schema
StringSE schema
(オプション)テーブルのスキーマ。デフォルトはユーザーのデフォルトスキーマです。
- デフォルト:
- ""
joinColumns
JoinColumn[] joinColumns
(オプション)関連付けを所有するエンティティのプライマリテーブルを参照する結合テーブルの外部キー列。(つまり、協会の所有側)。JoinColumn
と同じデフォルトを使用します。- デフォルト:
- {}
inverseJoinColumns
JoinColumn[] inverseJoinColumns
(オプション)関連付けを所有していないエンティティのプライマリテーブルを参照する結合テーブルの外部キー列。(つまり、関連付けの逆側)。JoinColumn
と同じデフォルトを使用します。- デフォルト:
- {}
foreignKey
ForeignKey foreignKey
(オプション)テーブル生成が有効な場合に、joinColumns
要素に対応する列の外部キー制約の生成を指定または制御するために使用されます。この要素といずれかのjoinColumns
要素のforeignKey
要素の両方が指定されている場合、動作は未定義です。どちらの場所でも外部キーアノテーション要素が指定されていない場合は、永続性プロバイダーのデフォルトの外部キー戦略が適用されます。- 導入:
- 2.1
- デフォルト:
- @jakarta.persistence.ForeignKey(jakarta.persistence.ConstraintMode.PROVIDER_DEFAULT)
inverseForeignKey
ForeignKey inverseForeignKey
(オプション)テーブル生成が有効な場合に、inverseJoinColumns
要素に対応する列の外部キー制約の生成を指定または制御するために使用されます。この要素といずれかのinverseJoinColumns
要素のforeignKey
要素の両方が指定されている場合、動作は未定義です。どちらの場所でも外部キーアノテーション要素が指定されていない場合は、永続性プロバイダーのデフォルトの外部キー戦略が適用されます。- 導入:
- 2.1
- デフォルト:
- @jakarta.persistence.ForeignKey(jakarta.persistence.ConstraintMode.PROVIDER_DEFAULT)
uniqueConstraints
UniqueConstraint[] uniqueConstraints
(オプション)テーブルに配置される一意の制約。これらは、テーブル生成が有効な場合にのみ使用されます。デフォルトでは追加の制約はありません。
- デフォルト:
- {}
indexes
Index[] indexes
(オプション)テーブルのインデックス。これらは、テーブル生成が有効な場合にのみ使用されます。- 導入:
- 2.1
- デフォルト:
- {}