- java.lang.Object
-
- java.lang.Enum<GenerationType>
-
- jakarta.persistence.GenerationType
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Comparable<GenerationType>
public enum GenerationType extends java.lang.Enum<GenerationType>
Enumerates the defined primary key generation strategies.- Since:
- 1.0
- See Also:
GeneratedValue
-
-
Enum Constant Summary
Enum Constants Enum Constant Description AUTO
Indicates that the persistence provider should pick an appropriate strategy for the particular database.IDENTITY
Indicates that the persistence provider must assign primary keys for the entity using a database identity column.SEQUENCE
Indicates that the persistence provider must assign primary keys for the entity using a database sequence.TABLE
Indicates that the persistence provider must assign primary keys for the entity using an underlying database table to ensure uniqueness.UUID
Indicates that the persistence provider must assign primary keys for the entity by generating an RFC 4122 Universally Unique IDentifier.
-
Constructor Summary
Constructors Modifier Constructor Description private
GenerationType()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static GenerationType
valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name.static GenerationType[]
values()
Returns an array containing the constants of this enum type, in the order they are declared.
-
-
-
Enum Constant Detail
-
TABLE
public static final GenerationType TABLE
Indicates that the persistence provider must assign primary keys for the entity using an underlying database table to ensure uniqueness.May be used to generate primary keys of type
Long
,Integer
,long
, orint
.
-
SEQUENCE
public static final GenerationType SEQUENCE
Indicates that the persistence provider must assign primary keys for the entity using a database sequence.May be used to generate primary keys of type
Long
,Integer
,long
, orint
.
-
IDENTITY
public static final GenerationType IDENTITY
Indicates that the persistence provider must assign primary keys for the entity using a database identity column.May be used to generate primary keys of type
Long
,Integer
,long
, orint
.
-
UUID
public static final GenerationType UUID
Indicates that the persistence provider must assign primary keys for the entity by generating an RFC 4122 Universally Unique IDentifier.May be used to generate primary keys of type
UUID
orString
.
-
AUTO
public static final GenerationType AUTO
Indicates that the persistence provider should pick an appropriate strategy for the particular database.- For a primary key of type
UUID
orString
, this is equivalent toUUID
. - For a primary key of type
Long
,Integer
,long
, orint
, the provider selects betweenTABLE
,SEQUENCE
, andIDENTITY
.
The
AUTO
generation strategy may expect a database resource to exist, or it may attempt to create one. A vendor may provide documentation on how to create such resources in the event that it does not support schema generation or cannot create the schema resource at runtime. - For a primary key of type
-
-
Method Detail
-
values
public static GenerationType[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:for (GenerationType c : GenerationType.values()) System.out.println(c);
- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
public static GenerationType valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
name
- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
java.lang.IllegalArgumentException
- if this enum type has no constant with the specified namejava.lang.NullPointerException
- if the argument is null
-
-