@Target(value={TYPE,METHOD,FIELD}) @Retention(value=RUNTIME) public @interface PrimaryKeyJoinColumn
It is used to join the primary table of an entity subclass in the 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.
|
ForeignKey |
foreignKey
(Optional) The foreign key constraint specification for the join 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 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).public abstract String columnDefinition
OneToOne
primary key association. Defaults to the generated SQL to create
a column of the inferred type.public abstract ForeignKey foreignKey
Copyright © 2020. All rights reserved.