@Repeatable(value=TableGenerators.class) @Target(value={TYPE,METHOD,FIELD}) @Retention(value=RUNTIME) public @interface TableGenerator
GeneratedValueアノテーションにgenerator要素が指定されたときに、名前で参照される主キージェネレーターを定義します。
テーブルジェネレーターはエンティティクラスまたは主キーのフィールドまたはプロパティで指定できます。
ジェネレーター名のスコープは、永続化ユニット(すべてのジェネレーターの型全体)に対してグローバルです。
Example 1:
@Entity public class Employee {
...
@TableGenerator(
name="empGen",
table="ID_GEN",
pkColumnName="GEN_KEY",
valueColumnName="GEN_VALUE",
pkColumnValue="EMP_ID",
allocationSize=1)
@Id
@GeneratedValue(strategy=TABLE, generator="empGen")
int id;
...
}
Example 2:
@Entity public class Address {
...
@TableGenerator(
name="addressGen",
table="ID_GEN",
pkColumnName="GEN_KEY",
valueColumnName="GEN_VALUE",
pkColumnValue="ADDR_ID")
@Id
@GeneratedValue(strategy=TABLE, generator="addressGen")
int id;
...
}
GeneratedValue| 修飾子とタイプ | 必須要素と説明 |
|---|---|
java.lang.String |
name
(必須) 1つ以上のクラスがID値のジェネレーターとして参照できるジェネレーターの一意な名前。
|
| 修飾子とタイプ | 任意要素と説明 |
|---|---|
int |
allocationSize
(オプション) ジェネレーターが生成した値からID番号を割り当てるときにインクリメントする量。
|
java.lang.String |
catalog
(オプション) テーブルの含まれるカタログ。
|
Index[] |
indexes
(オプション) テーブルのためのインデックス。
|
int |
initialValue
(オプション) 生成された最後の値を格納するカラムを初期化するために使用される初期値。
|
java.lang.String |
pkColumnName
(オプション) テーブル内の主キーのカラムの名前。
|
java.lang.String |
pkColumnValue
(オプション) 生成された値のセットをテーブルに格納されている可能性のある他のものと区別するジェネレーターテーブルの主キーの値。
|
java.lang.String |
schema
(オプション) テーブルの含まれるスキーマ。
|
java.lang.String |
table
(オプション) 生成されたID値を格納するテーブルの名前。
|
UniqueConstraint[] |
uniqueConstraints
(オプション) テーブルに配置される固有の制約。
|
java.lang.String |
valueColumnName
(オプション) 生成された最後の値を格納するカラムの名前。
|
public abstract java.lang.String table
デフォルトでは永続化プロバイダによって指定された名前になります。
public abstract java.lang.String schema
デフォルトではユーザーにとっての規定のスキーマです。
public abstract java.lang.String pkColumnName
デフォルトでは永続化プロバイダによって選ばれます。
public abstract java.lang.String valueColumnName
デフォルトでは永続化プロバイダによって選ばれます。
public abstract java.lang.String pkColumnValue
デフォルトでは永続化プロバイダによって選ばれた値がジェネレーターテーブルの主キーのカラムに格納されます
public abstract int allocationSize
public abstract UniqueConstraint[] uniqueConstraints
デフォルトでは追加の制約はありません。
public abstract Index[] indexes
Translated by @megascus.