パッケージ jakarta.persistence

アノテーション型 PrimaryKeyJoinColumn


  • @RepeatableSE(PrimaryKeyJoinColumns.class)
    @TargetSE({TYPESE,METHODSE,FIELDSE})
    @RetentionSE(RUNTIMESE)
    public @interface PrimaryKeyJoinColumn
    別のテーブルに結合するための外部キーとして使用される主キー列を指定します。

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

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

    
        Example: Customer and ValuedCustomer subclass
    
        @Entity
        @Table(name="CUST")
        @Inheritance(strategy=JOINED)
        @DiscriminatorValue("CUST")
        public class Customer { ... }
        
        @Entity
        @Table(name="VCUST")
        @DiscriminatorValue("VCUST")
        @PrimaryKeyJoinColumn(name="CUST_ID")
        public class ValuedCustomer extends Customer { ... }
     
    導入:
    1.0
    関連事項:
    SecondaryTable, Inheritance, OneToOne, ForeignKey
    • オプション要素のサマリー

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

      • name

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

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

        デフォルト:
        ""
      • referencedColumnName

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

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

        デフォルト:
        ""
      • columnDefinition

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

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

        デフォルト:
        ""
      • foreignKey

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