Annotation Interface PrimaryKeyJoinColumns


@Target({TYPE,METHOD,FIELD}) @Retention(RUNTIME) public @interface PrimaryKeyJoinColumns
Groups PrimaryKeyJoinColumn annotations. It is used to map composite foreign keys.
    Example: ValuedCustomer subclass

    @Entity
    @Table(name="VCUST")
    @DiscriminatorValue("VCUST")
    @PrimaryKeyJoinColumns({
        @PrimaryKeyJoinColumn(name="CUST_ID", 
            referencedColumnName="ID"),
        @PrimaryKeyJoinColumn(name="CUST_TYPE",
            referencedColumnName="TYPE")
    })
    public class ValuedCustomer extends Customer { ... }
 
Since:
1.0
See Also:
  • Required Element Summary

    Required Elements
    Modifier and Type
    Required Element
    Description
    One or more PrimaryKeyJoinColumn annotations.
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    (Optional) Used to specify or control the generation of a foreign key constraint when table generation is in effect.
  • Element Details

    • foreignKey

      ForeignKey foreignKey
      (Optional) Used to specify or control the generation of a foreign key constraint when table generation is in effect. If both this element and the foreignKey element of any of the PrimaryKeyJoinColumn elements are specified, the behavior is undefined. If no foreign key annotation element is specified in either location, the persistence provider's default foreign key strategy will apply.
      Since:
      2.1
      Default:
      @jakarta.persistence.ForeignKey(PROVIDER_DEFAULT)