public class SequenceGenerator extends Object implements PersistentIdentifierGenerator, BulkInsertionCapableIdentifierGenerator, Configurable
SequenceHiLoGenerator
Modifier and Type | Field and Description |
---|---|
static String |
PARAMETERS
The parameters parameter, appended to the create sequence DDL.
|
static String |
SEQUENCE
The sequence parameter
|
CATALOG, IDENTIFIER_NORMALIZER, PK, SCHEMA, TABLE, TABLES
ENTITY_NAME, JPA_ENTITY_NAME
Constructor and Description |
---|
SequenceGenerator() |
Modifier and Type | Method and Description |
---|---|
protected IntegralDataTypeHolder |
buildHolder() |
void |
configure(Type type,
Properties params,
Dialect dialect)
Configure this instance, given the value of parameters
specified by the user as <param> elements.
|
String |
determineBulkInsertionIdentifierGenerationSelectFragment(Dialect dialect)
Return the select expression fragment, if any, that generates the identifier values.
|
Serializable |
generate(SessionImplementor session,
Object obj)
Generate a new identifier.
|
protected IntegralDataTypeHolder |
generateHolder(SessionImplementor session) |
Object |
generatorKey()
Return a key unique to the underlying database objects.
|
protected Type |
getIdentifierType() |
String |
getSequenceName() |
String[] |
sqlCreateStrings(Dialect dialect)
The SQL required to create the underlying database objects.
|
String[] |
sqlDropStrings(Dialect dialect)
The SQL required to remove the underlying database objects.
|
boolean |
supportsBulkInsertionIdentifierGeneration()
Given the configuration of this generator, is identifier generation as part of bulk insertion supported?
IMPL NOTE : Mainly here to allow stuff like SequenceStyleGenerator which *can* support this based on
configuration
|
public static final String SEQUENCE
public static final String PARAMETERS
protected Type getIdentifierType()
public Object generatorKey()
PersistentIdentifierGenerator
generatorKey
in interface PersistentIdentifierGenerator
public String getSequenceName()
public void configure(Type type, Properties params, Dialect dialect) throws MappingException
Configurable
configure
in interface Configurable
params
- param values, keyed by parameter nameMappingException
public Serializable generate(SessionImplementor session, Object obj)
IdentifierGenerator
generate
in interface IdentifierGenerator
obj
- the entity or toplevel collection for which the id is being generatedprotected IntegralDataTypeHolder generateHolder(SessionImplementor session)
protected IntegralDataTypeHolder buildHolder()
public String[] sqlCreateStrings(Dialect dialect) throws HibernateException
PersistentIdentifierGenerator
sqlCreateStrings
in interface PersistentIdentifierGenerator
dialect
- The dialect against which to generate the create command(s)HibernateException
- problem creating the create command(s)public String[] sqlDropStrings(Dialect dialect) throws HibernateException
PersistentIdentifierGenerator
sqlDropStrings
in interface PersistentIdentifierGenerator
dialect
- The dialect against which to generate the drop command(s)HibernateException
- problem creating the drop command(s)public boolean supportsBulkInsertionIdentifierGeneration()
BulkInsertionCapableIdentifierGenerator
supportsBulkInsertionIdentifierGeneration
in interface BulkInsertionCapableIdentifierGenerator
true
if bulk insertions are supported; false
otherwise.public String determineBulkInsertionIdentifierGenerationSelectFragment(Dialect dialect)
BulkInsertionCapableIdentifierGenerator
determineBulkInsertionIdentifierGenerationSelectFragment
in interface BulkInsertionCapableIdentifierGenerator
dialect
- The dialect against which the insert will be performed.null
indicates that no fragment is needed.Copyright © 2001-2013 Red Hat, Inc. All Rights Reserved.