@Repeatable(TableGenerators.class) @Target({TYPE,METHOD,FIELD}) @Retention(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 | 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 | 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.
|
java.lang.String name
java.lang.String table
Defaults to a name chosen by persistence provider.
java.lang.String catalog
Defaults to the default catalog.
java.lang.String schema
Defaults to the default schema for user.
java.lang.String pkColumnName
Defaults to a provider-chosen name.
java.lang.String valueColumnName
Defaults to a provider-chosen name.
java.lang.String pkColumnValue
Defaults to a provider-chosen value to store in the primary key column of the generator table
int initialValue
int allocationSize
UniqueConstraint[] uniqueConstraints
Defaults to no additional constraints.
Index[] indexes
Copyright © 2018. All rights reserved.