Annotation Type SequenceGenerator


  • @Repeatable(SequenceGenerators.class)
    @Target({TYPE,METHOD,FIELD,PACKAGE})
    @Retention(RUNTIME)
    public @interface SequenceGenerator
    Defines a primary key generator that may be referenced by name when a generator element is specified for the GeneratedValue annotation. A sequence 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=SEQUENCE 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 SequenceGenerator annotation.

    Example: {@snippet :

    Since:
    1.0
    • Optional Element Summary

      Optional Elements 
      Modifier and Type Optional Element Description
      int allocationSize
      (Optional) The amount to increment by when allocating sequence numbers from the sequence.
      java.lang.String catalog
      (Optional) The catalog of the sequence generator.
      int initialValue
      (Optional) The value from which the sequence object is to start generating.
      java.lang.String name
      (Optional) A unique generator name that can be referenced by one or more classes to be the generator for primary key values.
      java.lang.String options
      (Optional) A SQL fragment appended to the generated DDL statement which creates this sequence.
      java.lang.String schema
      (Optional) The schema of the sequence generator.
      java.lang.String sequenceName
      (Optional) The name of the database sequence object from which to obtain primary key values.
    • Element Detail

      • name

        java.lang.String name
        (Optional) A unique generator name that can be referenced by one or more classes to be the generator for primary key values.

        Defaults to the name of the entity when the annotation occurs on an entity class or primary key attribute.

        Default:
        ""
      • sequenceName

        java.lang.String sequenceName
        (Optional) The name of the database sequence object from which to obtain primary key values.

        Defaults to a provider-chosen value.

        Default:
        ""
      • catalog

        java.lang.String catalog
        (Optional) The catalog of the sequence generator.
        Since:
        2.0
        Default:
        ""
      • schema

        java.lang.String schema
        (Optional) The schema of the sequence generator.
        Since:
        2.0
        Default:
        ""
      • initialValue

        int initialValue
        (Optional) The value from which the sequence object is to start generating.
        Default:
        1
      • allocationSize

        int allocationSize
        (Optional) The amount to increment by when allocating sequence numbers from the sequence.
        Default:
        50
      • options

        java.lang.String options
        (Optional) A SQL fragment appended to the generated DDL statement which creates this sequence.
        Since:
        3.2
        Default:
        ""