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;
GenerationType, Id, TableGenerator, SequenceGenerator
| Modifier and Type | Method and Description |
|---|---|
| public String | generator()
(Optional) The name of the primary key generator to
use, as specified by the |
| public GenerationType | strategy()
(Optional) The primary key generation strategy that the persistence provider must use to generate the annotated entity primary key. |
| generator | back to summary |
|---|---|
| public String generator() (Optional) The name of the primary key generator to
use, as specified by the 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 | back to summary |
|---|---|
| public GenerationType strategy() (Optional) The primary key generation strategy that the persistence provider must use to generate the annotated entity primary key. | |