Specifies a generation strategy for generated primary keys.
The GeneratedValue
annotation may be applied to a
primary key property or field of an entity or mapped superclass
in conjunction with the Id
annotation. The persistence
provider is only required to support the GeneratedValue
for simple primary keys. Use of the GeneratedValue
annotation for derived primary keys is not supported.
Example 1:
@Id
@GeneratedValue(strategy = SEQUENCE, generator = "CUST_SEQ")
@Column(name = "CUST_ID")
public Long getId() { return id; }
Example 2:
@Id
@GeneratedValue(strategy = TABLE, generator = "CUST_GEN")
@Column(name = "CUST_ID")
Long id;
- Since:
- 1.0
- See Also:
-
Optional Element Summary
Modifier and TypeOptional ElementDescription(Optional) The name of the primary key generator to use, as specified by theSequenceGenerator
orTableGenerator
annotation which declares the generator.(Optional) The primary key generation strategy that the persistence provider must use to generate the annotated entity primary key.
-
Element Details
-
strategy
GenerationType strategy(Optional) The primary key generation strategy that the persistence provider must use to generate the annotated entity primary key.- Default:
AUTO
-
generator
String generator(Optional) The name of the primary key generator to use, as specified by theSequenceGenerator
orTableGenerator
annotation which declares the generator.The name defaults to the entity name of the entity in which the annotation occurs.
If there is no generator with the defaulted name, then the persistence provider supplies a default id generator, of a type compatible with the value of the
strategy()
member.- Default:
""
-