Jakarta Persistence (JPA) Annotation Type

jakarta.persistence.GeneratedValue

Implemented Interfaces:
Annotation
Target:
Method, Field

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;
See Also:
Since:
Jakarta Persistence (JPA) 1.0
The Auto Generated Values article explains how to use GeneratedValue.

Annotation Elements

(Optional) The primary key generation strategy that the persistence provider must use to generate the annotated entity primary key.
Default:
AUTO
Since:
Jakarta Persistence (JPA) 1.0
String generator
(Optional) The name of the primary key generator to use, as specified by the SequenceGenerator or TableGenerator 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:
""
Since:
Jakarta Persistence (JPA) 1.0

Additional JDK methods inherited from java.lang.annotation.Annotation

annotationType(), equals(Object), hashCode(), toString()