@Repeatable(value=TableGenerators.class) @Target(value={TYPE,METHOD,FIELD}) @Retention(value=RUNTIME) public @interface TableGenerator
GeneratedValue
annotation. A table generator
may be specified on the entity class or on the primary key
field or property. The scope of the generator name is global
to the persistence unit (across all generator types).
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
Modifier and Type | Required Element and Description |
---|---|
java.lang.String |
name
(Required) A unique generator name that can be referenced
by one or more classes to be the generator for id values.
|
Modifier and Type | Optional Element and Description |
---|---|
int |
allocationSize
(Optional) The amount to increment by when allocating id
numbers from the generator.
|
java.lang.String |
catalog
(Optional) The catalog of the table.
|
Index[] |
indexes
(Optional) Indexes for the table.
|
int |
initialValue
(Optional) The initial value to be used to initialize the column
that stores the last value generated.
|
java.lang.String |
pkColumnName
(Optional) Name of the primary key column in the table.
|
java.lang.String |
pkColumnValue
(Optional) The primary key value in the generator table
that distinguishes this set of generated values from others
that may be stored in the table.
|
java.lang.String |
schema
(Optional) The schema of the table.
|
java.lang.String |
table
(Optional) Name of table that stores the generated id values.
|
UniqueConstraint[] |
uniqueConstraints
(Optional) Unique constraints that are to be placed on the
table.
|
java.lang.String |
valueColumnName
(Optional) Name of the column that stores the last value generated.
|
public abstract java.lang.String name
public abstract java.lang.String table
Defaults to a name chosen by persistence provider.
public abstract java.lang.String catalog
Defaults to the default catalog.
public abstract java.lang.String schema
Defaults to the default schema for user.
public abstract java.lang.String pkColumnName
Defaults to a provider-chosen name.
public abstract java.lang.String valueColumnName
Defaults to a provider-chosen name.
public abstract java.lang.String pkColumnValue
Defaults to a provider-chosen value to store in the primary key column of the generator table
public abstract int initialValue
public abstract int allocationSize
public abstract UniqueConstraint[] uniqueConstraints
Defaults to no additional constraints.
public abstract Index[] indexes