javax.persistence

## Enum GenerationType

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

- All Implemented Interfaces:
    Serializable, Comparable<GenerationType>

      public enum GenerationType
      extends Enum<GenerationType>

  Defines the types of primary key generation strategies.
  Since:
    Java Persistence 1.0
  See Also:
    `GeneratedValue`

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

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static GenerationType` | `valueOf(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(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:
        `IllegalArgumentException` - if this enum type has no constant with the specified name
        `NullPointerException` - if the argument is null

Copyright © 1996-2013, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.