org.hibernate.id

Class TableHiLoGenerator

Implemented Interfaces:
Configurable, IdentifierGenerator, PersistentIdentifierGenerator

public class TableHiLoGenerator
extends TableGenerator

hilo

An IdentifierGenerator that returns a Long, constructed using a hi/lo algorithm. The hi value MUST be fetched in a seperate transaction to the Session transaction so the generator must be able to obtain a new connection and commit it. Hence this implementation may not be used when the user is supplying connections. In this case a SequenceHiLoGenerator would be a better choice (where supported).

Mapping parameters supported: table, column, max_lo
Author:
Gavin King
See Also:
SequenceHiLoGenerator

Field Summary

static String
MAX_LO
The max_lo parameter

Fields inherited from class org.hibernate.id.TableGenerator

COLUMN, DEFAULT_COLUMN_NAME, DEFAULT_TABLE_NAME, TABLE

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 d)
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.

Methods inherited from class org.hibernate.id.TableGenerator

configure, doWorkInCurrentTransaction, generate, generatorKey, sqlCreateStrings, sqlDropStrings

Methods inherited from class org.hibernate.engine.TransactionHelper

doWorkInCurrentTransaction, doWorkInNewTransaction

Field Details

MAX_LO

public static final String MAX_LO
The max_lo parameter

Method Details

configure

public void configure(Type type,
                      Properties params,
                      Dialect d)
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
Overrides:
configure in interface TableGenerator
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
Overrides:
generate in interface TableGenerator
Parameters:
session -
Returns:
a new identifier