2.6.26 @JoinTable

<この項の構成>
(1) 説明
(2) 属性

(1) 説明

次のクラスに設定する結合表を指定するアノテーションです。

name属性が指定されない場合,結合表の名前は次の名称になります。

<所有者側テーブル名>_<被所有者側テーブル名>

適用可能要素は,メソッドとフィールドです。

(2) 属性

@JoinTableの属性の一覧を次の表に示します。

属性名任意/必須属性の説明
name任意結合表のテーブル名を指定する属性です。
catalog任意結合表のテーブルのカタログ名を指定する属性です。
なお,この属性は,Cosminexus JPAプロバイダには対応していません。
schema任意結合表のテーブルのスキーマ名を指定する属性です。
joinColumns任意所有者側エンティティのプライマリテーブルを参照する,結合表の外部キーカラムを指定する属性です。
inverseJoinColumns任意被所有者側エンティティのプライマリテーブルを参照する,結合表の外部キーカラムを指定する属性です。
uniqueConstraints任意テーブルのユニーク規制を指定する属性です。
なお,この属性は,Cosminexus JPAプロバイダには対応していません。

Cosminexus JPAプロバイダで対応する属性の詳細を次に示します。

(a) name属性
String
説明
結合表のテーブル名を指定する属性です。
指定できるテーブル名は,データベースの仕様に依存します。
デフォルト値
<所有者側テーブル名>_<被所有者側テーブル名>
(b) schema属性
String
説明
テーブルのスキーマ名を指定する属性です。
指定できる値は,データベースのスキーマ名の仕様に依存します。
デフォルト値
使用するデータベースのデフォルトのスキーマ
(c) joinColumns属性
JoinColumn[]
説明
所有者側エンティティのプライマリテーブルを参照する,結合表の外部キーカラムを指定する属性です。@JoinColumnの配列を指定します。@JoinColumnのname属性には結合表の外部キーカラム名,referencedColumnName属性には所有者側の参照カラム名をそれぞれ指定します。
指定できるカラム名は,データベースの仕様に依存します。
デフォルト値
@JoinColumnの外部キー
(d) inverseJoinColumns属性
JoinColumn[]
説明
被所有者側エンティティのプライマリテーブルを参照する,結合表の外部キーカラムを指定する属性です。@JoinColumnの配列を指定します。@JoinColumnのname属性には結合表の外部キーカラム名,referencedColumnName属性には外部キーカラムで参照された結合先テーブルのカラムをそれぞれ指定します。
指定できる値は,データベースのカラム名の仕様に依存します。
デフォルト値
@JoinColumnの外部キーカラム