Cosminexus アプリケーションサーバ V8 リファレンス API編
![[目次]](FIGURE/CONTENT.GIF)
![[索引]](FIGURE/INDEX.GIF)
![[前へ]](FIGURE/FRONT.GIF)
ほかのテーブルと結合する場合に外部キーとして使われるカラムを指定するアノテーションです。次の場合に使用します。
- 継承マッピング戦略のJOINED戦略で,エンティティのスーパークラスのプライマリキーとサブクラスのプライマリキーが異なる名前の場合
- @SecondaryTableで,プライマリテーブルとセカンダリテーブルを結合する場合※
- OneToOneリレーションシップで,被所有者側のエンティティクラスのプライマリキーが外部キーとして使用されている場合
- 注※
- この場合は,@SecondaryTable内で使用します。
適用可能要素は,クラス,メソッド,およびフィールドです。
@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リレーションシップを使用した場合
対象となるエンティティのテーブルのプライマリキーのカラム名
All Rights Reserved. Copyright (C) 2008, 2011, Hitachi, Ltd.