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.

Each JoinColumn annotation must explicit specify both name and referencedColumnName.

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, a default foreign key strategy is selected by the persistence provider.
      Since:
      2.1
      Default:
      @jakarta.persistence.ForeignKey(PROVIDER_DEFAULT)