@RepeatableSE(valueSE=SecondaryTables.class) @TargetSE(valueSE=TYPESE) @RetentionSE(valueSE=RUNTIMESE) public @interface SecondaryTable
SecondaryTable アノテーションが指定されていない場合、エンティティのすべての永続フィールドまたはプロパティがプライマリテーブルにマップされていると想定されます。主キー結合列が指定されていない場合、結合列は、主テーブルの主キー列を参照し、主テーブルの参照される主キー列と同じ名前と型を持つと想定されます。
Example 1: Single secondary table with a single primary key column.
@Entity
@Table(name="CUSTOMER")
@SecondaryTable(name="CUST_DETAIL",
pkJoinColumns=@PrimaryKeyJoinColumn(name="CUST_ID"))
public class Customer { ... }
Example 2: Single secondary table with multiple primary key columns.
@Entity
@Table(name="CUSTOMER")
@SecondaryTable(name="CUST_DETAIL",
pkJoinColumns={
@PrimaryKeyJoinColumn(name="CUST_ID"),
@PrimaryKeyJoinColumn(name="CUST_TYPE")})
public class Customer { ... }
| 修飾子と型 | オプションの要素と説明 |
|---|---|
StringSE | catalog(オプション)テーブルのカタログ。 |
ForeignKey | foreignKey(オプション)テーブル生成が有効な場合に、 pkJoinColumns 要素に対応する列の外部キー制約の生成を指定または制御するために使用されます。 |
Index[] | indexes(オプション)テーブルのインデックス。 |
PrimaryKeyJoinColumn[] | pkJoinColumns(オプション)主テーブルとの結合に使用される列。 |
StringSE | schema(オプション)テーブルのスキーマ。 |
UniqueConstraint[] | uniqueConstraints(オプション)テーブルに配置される一意の制約。 |
public abstract StringSE name
public abstract StringSE catalog
デフォルトはデフォルトカタログです。
public abstract StringSE schema
デフォルトはユーザーのデフォルトスキーマです。
public abstract PrimaryKeyJoinColumn[] pkJoinColumns
デフォルトは、主テーブルの主キー列と同じ名前の列です。
public abstract ForeignKey foreignKey
pkJoinColumns 要素に対応する列の外部キー制約の生成を指定または制御するために使用されます。この要素といずれかの pkJoinColumns 要素の foreignKey 要素の両方が指定されている場合、動作は未定義です。どちらの場所でも外部キーアノテーション要素が指定されていない場合は、永続性プロバイダーのデフォルトの外部キー戦略が適用されます。public abstract UniqueConstraint[] uniqueConstraints
Column および JoinColumn アノテーションで指定された制約と、主キーマッピングで必要とされる制約に加えて適用されます。デフォルトでは追加の制約はありません。
public abstract Index[] indexes
Copyright © 2019 Eclipse Foundation.
Use is subject to license terms.