8.22.49 @SecondaryTable
(1) 説明
エンティティクラスにセカンダリテーブルを指定するアノテーションです。
エンティティクラスがデータベース上の複数のテーブルにわたってマッピングされる場合に指定します。
@SecondaryTableをエンティティクラス内で指定しない場合,エンティティクラスのすべての永続化プロパティまたは永続化フィールドは,プライマリテーブルで指定されたテーブルとマッピングします。
適用可能要素は,クラスです。
(2) 属性
@SecondaryTableの属性の一覧を次の表に示します。
属性名 |
任意/必須 |
属性の説明 |
---|---|---|
必須 |
セカンダリテーブル名を指定する属性です。 |
|
catalog |
任意 |
セカンダリテーブルのカタログ名を指定する属性です。 なお,この属性は,CJPAプロバイダには対応していません。 |
任意 |
セカンダリテーブルのスキーマ名を指定する属性です。 |
|
任意 |
セカンダリテーブルがプライマリテーブルと結合するために使用する外部キーカラムを指定する属性です。 |
|
uniqueConstraints |
任意 |
テーブルでのユニークキー制約を指定する属性です。 なお,この属性は,CJPAプロバイダには対応していません。 |
CJPAプロバイダで対応する属性の詳細を次に示します。
(a) name属性
- 型
-
String
- 説明
-
セカンダリテーブル名を指定する属性です。
指定できるテーブル名は,データベースの仕様に依存します。
- デフォルト値
-
なし
(b) schema属性
- 型
-
String
- 説明
-
セカンダリテーブルのスキーマ名を指定する属性です。
指定できるスキーマ名は,データベースの仕様に依存します。
- デフォルト値
-
使用するデータベースのデフォルトのスキーマ名
(c) pkJoinColumns属性
- 型
-
PrimaryKeyJoinColumn[]
- 説明
-
セカンダリテーブルの外部キーカラムを指定する属性です。@PrimaryKeyJoinColumnの配列で指定します。
この要素が指定されない場合,セカンダリテーブルの外部キーカラムはプライマリテーブルのプライマリキーカラムと同じ名前と型を持ちます。このため,セカンダリテーブルはプライマリテーブルのプライマリキーカラムを参照します。
- デフォルト値
-
指定できる値は,@PrimaryKeyJoinColumnの配列で指定できる範囲です。詳細は,「8.22.46 @PrimaryKeyJoinColumn」を参照してください。