javax.persistence

## Annotation Type PrimaryKeyJoinColumns

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

- - ### Required Element Summary

    Required Elements
    Modifier and Type | Required Element and Description
    --- | ---
    `PrimaryKeyJoinColumn[]` | `value` One or more `PrimaryKeyJoinColumn` annotations.

  - ### 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 PrimaryKeyJoinColumn[] value

      One or more `PrimaryKeyJoinColumn` annotations.

    - #### 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 `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:
        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.