Annotation Interface JoinColumns


@Target({METHOD,FIELD}) @Retention(RUNTIME) public @interface JoinColumns
Specifies the mapping for composite foreign keys. This annotation groups JoinColumn annotations for the same relationship.

When the JoinColumns annotation is used, both the name and the referencedColumnName elements must be specified in each such JoinColumn annotation.


    Example:
    @ManyToOne
    @JoinColumns({
        @JoinColumn(name="ADDR_ID", referencedColumnName="ID"),
        @JoinColumn(name="ADDR_ZIP", referencedColumnName="ZIP")
    })
    public Address getAddress() { return address; }
 
Since:
1.0
See Also:
  • Required Element Summary

    Required Elements
    Modifier and Type
    Required Element
    Description
    The join columns that map the relationship.
  • 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

    • value

      JoinColumn[] value
      The join columns that map the relationship.
    • 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 JoinColumn 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)