Hitachi

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


8.22.46 @PrimaryKeyJoinColumn

〈この項の構成〉

(1) 説明

ほかのテーブルと結合する場合に外部キーとして使われるカラムを指定するアノテーションです。次の場合に使用します。

適用可能要素は,クラス,メソッド,およびフィールドです。

(2) 属性

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

属性名

任意/必須

属性の説明

name

任意

対象テーブルを結合するためのカラム名を指定する属性です。

referencedColumnName

任意

name属性で指定したカラムによって参照される結合先テーブルのプライマリキーのカラム名を指定する属性です。

columnDefinition

任意

CREATE文を出力するときにカラムに付加する制約をDDLで記載する属性です。

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

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

(a) name属性

String

説明

対象テーブルを結合するためのカラム名を指定する属性です。

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

デフォルト値
  • JOINED戦略を使用した場合

    スーパークラスのプライマリテーブルのプライマリキーのカラム名

  • @SecondaryTableを使用した場合

    プライマリテーブルのプライマリキーのカラム名

  • OneToOneリレーションシップを使用した場合

    対象となるエンティティのテーブルのプライマリキーのカラム名

(b) referencedColumnName属性

String

説明

name属性で指定したカラムによって参照される結合先テーブルのプライマリキーのカラム名を指定する属性です。@Columnのname属性の文字列と同じ値を指定してください。なお,指定する文字列は大文字,小文字もそろえてください。

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

OneToOneリレーションシップでカラムの指定をプライマリキーにしなくてもユニークキー制約があれば動作してしまいますが,動作の保証はしません。

デフォルト値
  • JOINED戦略を使用した場合

    スーパークラスのプライマリテーブルのプライマリキーのカラム名

  • @SecondaryTableを使用した場合

    プライマリテーブルのプライマリキーのカラム名

  • OneToOneリレーションシップを使用した場合

    対象となるエンティティのテーブルのプライマリキーのカラム名