javax.persistence

## Annotation Type JoinColumns

-     @Target(value={METHOD,FIELD})
      @Retention(value=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:
    Java Persistence 1.0
  See Also:
    `JoinColumn`, `ForeignKey`

- - ### Required Element Summary

    Required Elements
    Modifier and Type | Required Element and Description
    --- | ---
    `JoinColumn[]` | `value` The join columns that map the relationship.

  - ### Optional Element Summary

    Optional Elements
    Modifier and Type | Optional Element and Description
    --- | ---
    `ForeignKey` | `foreignKey` (Optional) Used to specify or control the generation of a foreign key constraint when table generation is in effect.

- - ### Element Detail

    - #### value

          public abstract JoinColumn[] value

      The join columns that map the relationship.

    - #### foreignKey

          public abstract 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:
        Java Persistence 2.1
      Default:
        @javax.persistence.ForeignKey(javax.persistence.ConstraintMode.PROVIDER_DEFAULT)

Copyright © 1996-2013, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.