@Target(value={TYPE,METHOD,FIELD}) @Retention(value=RUNTIME) public @interface PrimaryKeyJoinColumn
JOINED mapping strategy to the primary
table of its superclass; it is used within a SecondaryTable annotation to join a secondary table to a primary table; and it may
be used in a OneToOne mapping in which the primary key of the referencing entity is used as a foreign key to the referenced
entity.
If no PrimaryKeyJoinColumn annotation is specified for a subclass in the JOINED mapping strategy, the foreign
key columns are assumed to have the same names as the primary key columns of the primary table of the superclass.
Example: Customer and ValuedCustomer subclass
@Entity
@Table(name="CUST")
@Inheritance(strategy=JOINED)
@DiscriminatorValue("CUST")
public class Customer { ... }
@Entity
@Table(name="VCUST")
@DiscriminatorValue("VCUST")
@PrimaryKeyJoinColumn(name="CUST_ID")
public class ValuedCustomer extends Customer { ... }
SecondaryTable,
Inheritance,
OneToOne| Modifier and Type | Optional Element and Description |
|---|---|
String |
columnDefinition
(Optional) The SQL fragment that is used when generating the DDL for the column.
|
String |
name
(Optional) The name of the primary key column of the current table.
|
String |
referencedColumnName
(Optional) The name of the primary key column of the table being joined to.
|
public abstract String columnDefinition
OneToOne primary key association.
Defaults to the generated SQL to create a column of the inferred type.public abstract String name
JOINED mapping strategy);
the same name as the primary key column of the primary table (SecondaryTable mapping); or the same name as the primary
key column for the table for the referencing entity (OneToOne mapping).public abstract String referencedColumnName
JOINED mapping strategy);
the same name as the primary key column of the primary table (SecondaryTable mapping); or the same name as the primary
key column for the table for the referencing entity (OneToOne mapping).Copyright © 2012 Batoo Software & Consultancy. All Rights Reserved.