Annotation Interface GeneratedValue


@Target({METHOD,FIELD}) @Retention(RUNTIME) public @interface GeneratedValue
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

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    (Optional) The name of the primary key generator to use, as specified by the SequenceGenerator or TableGenerator 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 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:
      ""