org.hibernate.id

Class SequenceGenerator

Implemented Interfaces:
Configurable, IdentifierGenerator, PersistentIdentifierGenerator
Known Direct Subclasses:
SequenceHiLoGenerator, SequenceIdentityGenerator

public class SequenceGenerator
extends java.lang.Object
implements PersistentIdentifierGenerator, Configurable

sequence

Generates long values using an oracle-style sequence. A higher performance algorithm is SequenceHiLoGenerator.

Mapping parameters supported: sequence, parameters.
Author:
Gavin King
See Also:
SequenceHiLoGenerator, TableHiLoGenerator

Field Summary

static String
PARAMETERS
The parameters parameter, appended to the create sequence DDL.
static String
SEQUENCE
The sequence parameter

Fields inherited from interface org.hibernate.id.IdentifierGenerator

ENTITY_NAME

Fields inherited from interface org.hibernate.id.PersistentIdentifierGenerator

CATALOG, PK, SCHEMA, SQL_STATEMENT_LOGGER, TABLE, TABLES

Method Summary

void
configure(Type type, Properties params, Dialect dialect)
Configure this instance, given the value of parameters specified by the user as <param> elements.
Serializable
generate(SessionImplementor session, Object obj)
Generate a new identifier.
Object
generatorKey()
String
getSequenceName()
String[]
sqlCreateStrings(Dialect dialect)
String[]
sqlDropStrings(Dialect dialect)

Field Details

PARAMETERS

public static final String PARAMETERS
The parameters parameter, appended to the create sequence DDL. For example (Oracle): INCREMENT BY 1 START WITH 1 MAXVALUE 100 NOCACHE.

SEQUENCE

public static final String SEQUENCE
The sequence parameter

Method Details

configure

public void configure(Type type,
                      Properties params,
                      Dialect dialect)
            throws MappingException
Configure this instance, given the value of parameters specified by the user as <param> elements. This method is called just once, following instantiation.
Specified by:
configure in interface Configurable
Parameters:
params - param values, keyed by parameter name

generate

public Serializable generate(SessionImplementor session,
                             Object obj)
            throws HibernateException
Generate a new identifier.
Specified by:
generate in interface IdentifierGenerator
Parameters:
session -
Returns:
a new identifier

generatorKey

public Object generatorKey()
Specified by:
generatorKey in interface PersistentIdentifierGenerator

getSequenceName

public String getSequenceName()

sqlCreateStrings

public String[] sqlCreateStrings(Dialect dialect)
            throws HibernateException
Specified by:
sqlCreateStrings in interface PersistentIdentifierGenerator

sqlDropStrings

public String[] sqlDropStrings(Dialect dialect)
            throws HibernateException
Specified by:
sqlDropStrings in interface PersistentIdentifierGenerator