|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.hibernate.engine.TransactionHelper org.hibernate.id.TableGenerator
public class TableGenerator
An IdentifierGenerator that uses a database
table to store the last generated value. It is not
intended that applications use this strategy directly.
However, it may be used to build other (efficient)
strategies. The returned type is any supported by
IntegralDataTypeHolder
session
transaction so the generator must be able to obtain a new
connection and commit it. Hence this implementation may only
be used when Hibernate is fetching connections, not when the
user is supplying connections.
Again, the return types supported here are any of the ones
supported by IntegralDataTypeHolder
. This is new
as of 3.5. Prior to that this generator only returned Integer
values.
Mapping parameters supported: table, column
TableHiLoGenerator
Field Summary | |
---|---|
static String |
COLUMN
The column parameter |
static String |
DEFAULT_COLUMN_NAME
Default column name |
static String |
DEFAULT_TABLE_NAME
Default table name |
static String |
TABLE
The table parameter |
Fields inherited from interface org.hibernate.id.PersistentIdentifierGenerator |
---|
CATALOG, IDENTIFIER_NORMALIZER, PK, SCHEMA, SQL_STATEMENT_LOGGER, TABLES |
Fields inherited from interface org.hibernate.id.IdentifierGenerator |
---|
ENTITY_NAME |
Constructor Summary | |
---|---|
TableGenerator()
|
Method Summary | |
---|---|
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. |
Serializable |
doWorkInCurrentTransaction(Connection conn,
String sql)
Get the next value. |
Serializable |
generate(SessionImplementor session,
Object object)
Generate a new identifier. |
protected IntegralDataTypeHolder |
generateHolder(SessionImplementor session)
|
Object |
generatorKey()
Return a key unique to the underlying database objects. |
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. |
Methods inherited from class org.hibernate.engine.TransactionHelper |
---|
doWorkInNewTransaction |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final String COLUMN
public static final String DEFAULT_COLUMN_NAME
public static final String TABLE
public static final String DEFAULT_TABLE_NAME
Constructor Detail |
---|
public TableGenerator()
Method Detail |
---|
public void configure(Type type, Properties params, Dialect dialect)
Configurable
configure
in interface Configurable
params
- param values, keyed by parameter namepublic Serializable generate(SessionImplementor session, Object object)
IdentifierGenerator
generate
in interface IdentifierGenerator
object
- the entity or toplevel collection for which the id is being generated
protected IntegralDataTypeHolder generateHolder(SessionImplementor session)
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)
PersistentIdentifierGenerator
sqlDropStrings
in interface PersistentIdentifierGenerator
dialect
- The dialect against which to generate the drop command(s)
public Object generatorKey()
PersistentIdentifierGenerator
generatorKey
in interface PersistentIdentifierGenerator
public Serializable doWorkInCurrentTransaction(Connection conn, String sql) throws SQLException
doWorkInCurrentTransaction
in class TransactionHelper
conn
- The sql connection to use.sql
- n/a
Integer
. Since 3.5 it now
returns a IntegralDataTypeHolder
SQLException
protected IntegralDataTypeHolder buildHolder()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |