2.6.51 @PrimaryKeyJoinColumn

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

(1) 説明

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

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

(2) 属性

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

属性名任意/必須属性の説明
name任意対象テーブルを結合するためのカラム名を指定する属性です。
referencedColumnName任意name属性で指定したカラムによって参照される結合先テーブルのプライマリキーのカラム名を指定する属性です。
columnDefinition任意CREATE文を出力するときにカラムに付加する制約をDDLで記載する属性です。
なお,この属性は,Cosminexus JPAプロバイダには対応していません。

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

(a) name属性
String
説明
対象テーブルを結合するためのカラム名を指定する属性です。
指定できるカラム名は,データベースの仕様に依存します。
デフォルト値
  • JOINED戦略を使用した場合
    スーパークラスのプライマリテーブルのプライマリキーのカラム名
  • @SecondaryTableを使用した場合
    プライマリテーブルのプライマリキーのカラム名
  • OneToOneリレーションシップを使用した場合
    対象となるエンティティのテーブルのプライマリキーのカラム名
(b) referencedColumnName属性
String
説明
name属性で指定したカラムによって参照される結合先テーブルのプライマリキーのカラム名を指定する属性です。@Columnのname属性の文字列と同じ値を指定してください。なお,指定する文字列は大文字,小文字もそろえてください。
指定できるカラム名は,データベースの仕様に依存します。
OneToOneリレーションシップでカラムの指定をプライマリキーにしなくてもユニークキー制約があれば動作してしまいますが,動作の保証はしません。
デフォルト値
  • JOINED戦略を使用した場合
    スーパークラスのプライマリテーブルのプライマリキーのカラム名
  • @SecondaryTableを使用した場合
    プライマリテーブルのプライマリキーのカラム名
  • OneToOneリレーションシップを使用した場合
    対象となるエンティティのテーブルのプライマリキーのカラム名