Hitachi

Cosminexus V11 アプリケーションサーバ 機能解説 互換編


8.22.49 @SecondaryTable

〈この項の構成〉

(1) 説明

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

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

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

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

(2) 属性

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

属性名

任意/必須

属性の説明

name

必須

セカンダリテーブル名を指定する属性です。

catalog

任意

セカンダリテーブルのカタログ名を指定する属性です。

なお,この属性は,CJPAプロバイダには対応していません。

schema

任意

セカンダリテーブルのスキーマ名を指定する属性です。

pkJoinColumns

任意

セカンダリテーブルがプライマリテーブルと結合するために使用する外部キーカラムを指定する属性です。

uniqueConstraints

任意

テーブルでのユニークキー制約を指定する属性です。

なお,この属性は,CJPAプロバイダには対応していません。

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

(a) name属性

String

説明

セカンダリテーブル名を指定する属性です。

指定できるテーブル名は,データベースの仕様に依存します。

デフォルト値

なし

(b) schema属性

String

説明

セカンダリテーブルのスキーマ名を指定する属性です。

指定できるスキーマ名は,データベースの仕様に依存します。

デフォルト値

使用するデータベースのデフォルトのスキーマ名

(c) pkJoinColumns属性

PrimaryKeyJoinColumn[]

説明

セカンダリテーブルの外部キーカラムを指定する属性です。@PrimaryKeyJoinColumnの配列で指定します。

この要素が指定されない場合,セカンダリテーブルの外部キーカラムはプライマリテーブルのプライマリキーカラムと同じ名前と型を持ちます。このため,セカンダリテーブルはプライマリテーブルのプライマリキーカラムを参照します。

デフォルト値

指定できる値は,@PrimaryKeyJoinColumnの配列で指定できる範囲です。詳細は,「8.22.46 @PrimaryKeyJoinColumn」を参照してください。