|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT |
javax.persistence Annotation Type PrimaryKeyJoinColumn
@Retention(value=RUNTIME)
此注释指定用作外键连接另一个表格的主键列。
它用于将 JOINED
映射战略中的实体子类的主表格连接到其超类的主表格;它在 SecondaryTable
注释中用于将从属表格连接到主表格;它还可以在 OneToOne
映射使用,其中引用实体的主键用作被引用实体的外键。
如果在 JOINED
映射战略中没有为子类指定任何 PrimaryKeyJoinColumn
注释,则假定外键列的名称与超类主表格的主键列相同
示例:Customer 和 ValuedCustomer 子类 @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 { ... }
since |
|
This annotation specifies a primary key column that is used as a foreign key to join to another table.
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 { ... }
- Since:
- Java Persistence 1.0
Optional Element Summary | |
---|---|
String |
columnDefinition
(Optional) The SQL fragment that is used when generating the DDL for the column. |
String |
name
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. |
abstract public String
name()
当前表格的主键列的名称。
默认为与超类主表格(JOINED
映射战略)的主键列相同的名称;与主表格(SecondaryTable
映射)的主键列相同的名称;或者与引用实体(OneToOne
映射)表格的主键列相同的名称。
name
public abstract String name
- The name of the primary key column of the current table.
Defaults to the same name as the primary key column of the primary table of the superclass (
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) - Default:
- ""
abstract public String
referencedColumnName()
(可选)连接的表格的主键列名称。
默认为与超类主表格(JOINED
映射战略)的主键列相同的名称;与主表格(SecondaryTable
映射)的主键列相同的名称;或者与引用实体(OneToOne
映射)表格的主键列相同的名称。
referencedColumnName
public abstract String referencedColumnName
- (Optional) The name of the primary key column of the table
being joined to.
Defaults to the same name as the primary key column of the primary table of the superclass (
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) - Default:
- ""
abstract public String
columnDefinition()
(可选)生成该列的 DDL 时使用的 SQL 句段。对于 OneToOne
主键关联不应指定此属性。
默认为生成的 SQL,以创建推断类型的列。
columnDefinition
public abstract String columnDefinition
- (Optional) The SQL fragment that is used when generating the
DDL for the column. This should not be specified for a
OneToOne
primary key association.Defaults to the generated SQL to create a column of the inferred type.
- Default:
- ""
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT |
Submit a bug or feature
Copyright 2007 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
PS : 未经我党受权你也可自由散发此文档。 如有任何错误请自行修正;若因此而造成任何损失请直接找人民主席,请勿与本人联系。谢谢!