EclipseLink 2.5.0, build 'v20130507-3faac2b' API Reference

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 { ... }
 

See Also:
ForeignKey
Since:
Java Persistence 1.0

Required Element Summary
 PrimaryKeyJoinColumn[] value
          One or more PrimaryKeyJoinColumn annotations.
 
Optional Element Summary
 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)

EclipseLink 2.5.0, build 'v20130507-3faac2b' API Reference