721 words
javax.persistence.TableGenerator - JPA annotation
javax.persistence
Annotation TableGenerator
- Target:
- Classes and fields (including property get methods)
Defines a primary key generator that may be
referenced by name when a generator element is specified for
the
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;
...
}- Since:
- JPA 1.0
- See Also:
GeneratedValue
Learn how to define and use automatic value generation in Chapter 2 of the ObjectDB/JPA manual.
int allocationSize
(Optional) The amount to increment by when allocating id
numbers from the generator.
- Default value:
- 50
- Since:
- JPA 1.0
String catalog
(Optional) The catalog of the table.
Defaults to the default catalog.
- Default value:
- ""
- Since:
- JPA 1.0
int initialValue
(Optional) The initial value to be used to initialize the column
that stores the last value generated.
- Default value:
- 0
- Since:
- JPA 1.0
String name
(Required) A unique generator name that can be referenced
by one or more classes to be the generator for id values.
- Since:
- JPA 1.0
String pkColumnName
(Optional) Name of the primary key column in the table.
Defaults to a provider-chosen name.
- Default value:
- ""
- Since:
- JPA 1.0
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.
Defaults to a provider-chosen value to store in the primary key column of the generator table
- Default value:
- ""
- Since:
- JPA 1.0
String schema
(Optional) The schema of the table.
Defaults to the default schema for user.
- Default value:
- ""
- Since:
- JPA 1.0
String table
(Optional) Name of table that stores the generated id values.
Defaults to a name chosen by persistence provider.
- Default value:
- ""
- Since:
- JPA 1.0
(Optional) Unique constraints that are to be placed on the
table. These are only used if table generation is in effect.
These constraints apply in addition to primary key constraints.
Defaults to no additional constraints.
- Default value:
- {}
- Since:
- JPA 1.0
String valueColumnName
(Optional) Name of the column that stores the last value generated.
Defaults to a provider-chosen name.
- Default value:
- ""
- Since:
- JPA 1.0
This documentation page is derived (with some adjustments) from the open source JPA 2 RI (EclipseLink)
and is available under the terms of the Eclipse Public License, v. 1.0 and Eclipse Distribution License, v. 1.0.
and is available under the terms of the Eclipse Public License, v. 1.0 and Eclipse Distribution License, v. 1.0.
Object Relational Mapping (ORM) JPA 2 providers include Hibernate, EclipseLink, TopLink, OpenJPA and DataNucleus.
Object DB is not an ORM JPA implementation but an Object Database for Java with built in JPA 2 support.