jakarta.persistence.TableGenerator
- Implemented Interfaces:
Annotation
- Target:
- Type, Method, Field, Package
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). If no name is explicitly specified, and the annotation occurs on an entity class or primary key attribute of an entity class, then the name defaults to the name of the entity.
If no name is explicitly specified, and the annotation occurs on a package descriptor, then the annotation defines a recipe for producing a default generator when a GeneratedValue annotation of any program element in the annotated package has strategy=TABLE and a defaulted generator name. The name of this default generator is the defaulted generator name, and its other properties are determined by the members of the package TableGenerator annotation.
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( table = "ID_GEN", pkColumnName = "GEN_KEY", valueColumnName = "GEN_VALUE", pkColumnValue = "ADDR_ID") @Id @GeneratedValue(strategy = TABLE) int id; ... }
- See Also:
- Since:
- Jakarta Persistence (JPA) 1.0
TableGenerator.Annotation Elements
String nameDefaults to the name of the entity when the annotation occurs on an entity class or primary key attribute.
- Default:
- ""
- Since:
- Jakarta Persistence (JPA) 1.0
String tableDefaults to a name chosen by persistence provider.
- Default:
- ""
- Since:
- Jakarta Persistence (JPA) 1.0
String catalogDefaults to the default catalog.
- Default:
- ""
- Since:
- Jakarta Persistence (JPA) 1.0
String schemaDefaults to the default schema for user.
- Default:
- ""
- Since:
- Jakarta Persistence (JPA) 1.0
String pkColumnNameDefaults to a provider-chosen name.
- Default:
- ""
- Since:
- Jakarta Persistence (JPA) 1.0
String valueColumnNameDefaults to a provider-chosen name.
- Default:
- ""
- Since:
- Jakarta Persistence (JPA) 1.0
String pkColumnValueDefaults to a provider-chosen value to store in the primary key column of the generator table
- Default:
- ""
- Since:
- Jakarta Persistence (JPA) 1.0
int initialValue- Default:
- 0
- Since:
- Jakarta Persistence (JPA) 1.0
int allocationSize- Default:
- 50
- Since:
- Jakarta Persistence (JPA) 1.0
Defaults to no additional constraints.
- Default:
- {}
- Since:
- Jakarta Persistence (JPA) 1.0
- Default:
- {}
- Since:
- Jakarta Persistence (JPA) 2.1
String options- Default:
- ""
- Since:
- Jakarta Persistence (JPA) 3.2
Additional JDK methods inherited from java.lang.annotation.Annotation
annotationType(), equals(Object), hashCode(), toString()