2.7.54 @SecondaryTable

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

(1) 説明

エンティティクラスにセカンダリテーブルを指定するアノテーションです。

エンティティクラスがデータベース上の複数のテーブルにわたってマッピングされる場合に指定します。

@SecondaryTableをエンティティクラス内で指定しない場合,エンティティクラスのすべての永続化プロパティまたは永続化フィールドは,プライマリテーブルで指定されたテーブルとマッピングします。

適用可能要素は,クラスです。

(2) 属性

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

属性名任意/必須属性の説明
name必須セカンダリテーブル名を指定する属性です。
catalog任意セカンダリテーブルのカタログ名を指定する属性です。
なお,この属性は,CJPAプロバイダには対応していません。
schema任意セカンダリテーブルのスキーマ名を指定する属性です。
pkJoinColumns任意セカンダリテーブルがプライマリテーブルと結合するために使用する外部キーカラムを指定する属性です。
uniqueConstraints任意テーブルでのユニークキー制約を指定する属性です。
なお,この属性は,CJPAプロバイダには対応していません。

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

(a) name属性
String
説明
セカンダリテーブル名を指定する属性です。
指定できるテーブル名は,データベースの仕様に依存します。
デフォルト値
なし
(b) schema属性
String
説明
セカンダリテーブルのスキーマ名を指定する属性です。
指定できるスキーマ名は,データベースの仕様に依存します。
デフォルト値
使用するデータベースのデフォルトのスキーマ名
(c) pkJoinColumns属性
PrimaryKeyJoinColumn[]
説明
セカンダリテーブルの外部キーカラムを指定する属性です。@PrimaryKeyJoinColumnの配列で指定します。
この要素が指定されない場合,セカンダリテーブルの外部キーカラムはプライマリテーブルのプライマリキーカラムと同じ名前と型を持ちます。このため,セカンダリテーブルはプライマリテーブルのプライマリキーカラムを参照します。
デフォルト値
指定できる値は,@PrimaryKeyJoinColumnの配列で指定できる範囲です。詳細は,「2.7.51 @PrimaryKeyJoinColumn」を参照してください。