パッケージ jakarta.persistence

アノテーションインターフェース PrimaryKeyJoinColumn


別のテーブルに結合するための外部キーとして使用される主キー列を指定します。

これは、JOINED マッピング戦略のエンティティサブクラスのプライマリテーブルをそのスーパークラスのプライマリテーブルに結合するために使用されます。SecondaryTable アノテーション内で、2 次表を 1 次表に結合するために使用されます。また、参照エンティティの主キーが参照エンティティへの外部キーとして使用される OneToOne マッピングで使用できます。

JOINED マッピング戦略のサブクラスに PrimaryKeyJoinColumn アノテーションが指定されていない場合、外部キー列は、スーパークラスの主テーブルの主キー列と同じ名前であると見なされます。

サンプル: Customer および ValuedCustomer サブクラス

導入:
1.0
関連事項:
  • オプション要素の概要

    オプション要素
    修飾子と型
    オプションの要素
    説明
    (オプション)列の DDL を生成するときに使用される SQL フラグメント。
    (オプション)テーブル生成が有効な場合に、主キー結合列の外部キー制約の生成を指定または制御するために使用されます。
    (オプション)現在のテーブルの主キー列の名前。
    (オプション) この列を宣言する、生成された DDL に追加される SQL フラグメント。
    (オプション)結合先のテーブルの主キー列の名前。
  • 要素の詳細

    • name

      StringSE name
      (オプション)現在のテーブルの主キー列の名前。

      デフォルトは、スーパークラスの主テーブルの主キー列と同じ名前になります (JOINED マッピング戦略)。主テーブルの主キー列と同じ名前 (SecondaryTable マッピング)。または、参照エンティティのテーブルの主キー列と同じ名前 (OneToOne マッピング)。

      デフォルト:
      ""
    • referencedColumnName

      StringSE referencedColumnName
      (オプション)結合先のテーブルの主キー列の名前。

      デフォルトは、スーパークラスの主テーブルの主キー列と同じ名前になります (JOINED マッピング戦略)。主テーブルの主キー列と同じ名前 (SecondaryTable マッピング)。または、参照エンティティのテーブルの主キー列と同じ名前 (OneToOne マッピング)。

      デフォルト:
      ""
    • columnDefinition

      StringSE columnDefinition
      (オプション) 列の DDL を生成するときに使用される SQL フラグメント。これは、OneToOne 主キー関連付けには指定しないでください。

      推測された型の列を作成するために、デフォルトで生成された SQL になります。

      デフォルト:
      ""
    • options

      StringSE options
      (オプション) この列を宣言する、生成された DDL に追加される SQL フラグメント。columnDefinition() と組み合わせて使用することはできません。
      導入:
      3.2
      デフォルト:
      ""
    • foreignKey

      ForeignKey foreignKey
      (オプション)テーブル生成が有効な場合に、主キー結合列の外部キー制約の生成を指定または制御するために使用されます。この要素が指定されていない場合、永続性プロバイダーのデフォルトの外部キー戦略が適用されます。
      導入:
      2.1
      デフォルト:
      @jakarta.persistence.ForeignKey(PROVIDER_DEFAULT)