8.22.26 @JoinTable
(1) 説明
次のクラスに設定する結合表を指定するアノテーションです。
-
ManyToManyリレーションシップを指定する場合の所有者側のクラス
-
片方向のOneToManyリレーションシップを持つクラス
name属性が指定されない場合,結合表の名前は次の名称になります。
<所有者側テーブル名>_<被所有者側テーブル名>
適用可能要素は,メソッドとフィールドです。
(2) 属性
@JoinTableの属性の一覧を次の表に示します。
属性名 |
任意/必須 |
属性の説明 |
---|---|---|
任意 |
結合表のテーブル名を指定する属性です。 |
|
catalog |
任意 |
結合表のテーブルのカタログ名を指定する属性です。 なお,この属性は,CJPAプロバイダには対応していません。 |
任意 |
結合表のテーブルのスキーマ名を指定する属性です。 |
|
任意 |
所有者側エンティティのプライマリテーブルを参照する,結合表の外部キーカラムを指定する属性です。 |
|
任意 |
被所有者側エンティティのプライマリテーブルを参照する,結合表の外部キーカラムを指定する属性です。 |
|
uniqueConstraints |
任意 |
テーブルのユニーク規制を指定する属性です。 なお,この属性は,CJPAプロバイダには対応していません。 |
CJPAプロバイダで対応する属性の詳細を次に示します。
(a) name属性
- 型
-
String
- 説明
-
結合表のテーブル名を指定する属性です。
指定できるテーブル名は,データベースの仕様に依存します。
- デフォルト値
-
<所有者側テーブル名>_<被所有者側テーブル名>
(b) schema属性
- 型
-
String
- 説明
-
テーブルのスキーマ名を指定する属性です。
指定できる値は,データベースのスキーマ名の仕様に依存します。
- デフォルト値
-
使用するデータベースのデフォルトのスキーマ
(c) joinColumns属性
- 型
-
JoinColumn[]
- 説明
-
所有者側エンティティのプライマリテーブルを参照する,結合表の外部キーカラムを指定する属性です。@JoinColumnの配列を指定します。@JoinColumnのname属性には結合表の外部キーカラム名,referencedColumnName属性には所有者側の参照カラム名をそれぞれ指定します。
指定できるカラム名は,データベースの仕様に依存します。
- デフォルト値
-
@JoinColumnの外部キー
(d) inverseJoinColumns属性
- 型
-
JoinColumn[]
- 説明
-
被所有者側エンティティのプライマリテーブルを参照する,結合表の外部キーカラムを指定する属性です。@JoinColumnの配列を指定します。@JoinColumnのname属性には結合表の外部キーカラム名,referencedColumnName属性には外部キーカラムで参照された結合先テーブルのカラムをそれぞれ指定します。
指定できる値は,データベースのカラム名の仕様に依存します。
- デフォルト値
-
@JoinColumnの外部キーカラム