javax.persistence

## Enum GenerationType

- java.lang.Object
- - java.lang.Enum<GenerationType>
  - - javax.persistence.GenerationType

All Implemented Interfaces:
  java.io.Serializable, java.lang.Comparable<GenerationType>

    public enum GenerationType
    extends java.lang.Enum<GenerationType>

Defines the types of primary key generation strategies.

See Also:
  `GeneratedValue`
Since:
  Java Persistence 1.0

### Enum Constant Summary

Enum Constants
Enum Constant and 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.

### Method Summary

All Methods Static Methods Concrete Methods
`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.

### Methods inherited from class java.lang.Enum

`clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf`

### Methods inherited from class java.lang.Object

`getClass, notify, notifyAll, wait, wait, wait`

### 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.

#### SEQUENCE

    public static final GenerationType SEQUENCE

Indicates that the persistence provider must assign primary keys for the entity using a database sequence.

#### IDENTITY

    public static final GenerationType IDENTITY

Indicates that the persistence provider must assign primary keys for the entity using a database identity column.

#### AUTO

    public static final GenerationType AUTO

Indicates that the persistence provider should pick an appropriate strategy for the particular database. 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.

### 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 name
  `java.lang.NullPointerException` - if the argument is null