KeyGenerator
public final class SequenceDuringKeyGenerator extends AbstractKeyGenerator
Constructor | Description |
---|---|
SequenceDuringKeyGenerator(PersistenceFactory factory,
java.util.Properties params,
int sqlType) |
Initialize the SEQUENCE key generator for DURING_INSERT style
generateKey(java.sql.Connection, java.lang.String, java.lang.String) is never called. |
Modifier and Type | Method | Description |
---|---|---|
KeyGenerator |
buildStatement(SQLEngine engine) |
Builds the SQL insert statement.
|
java.lang.Object |
executeStatement(Database database,
CastorConnection conn,
Identity identity,
ProposedEntity entity) |
Executes the SQL statement after preparing the PreparedStatement.
|
java.lang.Object |
generateKey(java.sql.Connection conn,
java.lang.String tableName,
java.lang.String primKeyName) |
Generate a new key for the specified table.
|
boolean |
isInSameConnection() |
Is key generated in the same connection as INSERT?
For DURING_INSERT style this method is never called.
|
closeSeparateConnection, getSeparateConnection
public SequenceDuringKeyGenerator(PersistenceFactory factory, java.util.Properties params, int sqlType) throws MappingException
generateKey(java.sql.Connection, java.lang.String, java.lang.String)
is never called.factory
- A PersistenceFactory instance.params
- Database engine specific properties.sqlType
- A SQLTypidentifier.MappingException
- if this key generator is not compatible with the
persistance factory.public java.lang.Object generateKey(java.sql.Connection conn, java.lang.String tableName, java.lang.String primKeyName) throws PersistenceException
KeyGenerator
conn
- An open connection within the given transaction.tableName
- The table name.primKeyName
- The primary key name.PersistenceException
- An error occured talking to persistent storage.public boolean isInSameConnection()
public KeyGenerator buildStatement(SQLEngine engine)
engine
- SQL engine for all persistence operations at entities of the type this
class is responsible for. Holds all required information of the entity type.public java.lang.Object executeStatement(Database database, CastorConnection conn, Identity identity, ProposedEntity entity) throws PersistenceException
database
- A database instance.conn
- CastorConnection holding connection and PersistenceFactory to be used to create
statement.identity
- Identity of the object to insert.entity
- Entity instance from which field values to be fetached to
bind with sql insert statement.PersistenceException
- If failed to insert record into database. This could happen
if a database access error occurs, If identity size mismatches, unable to retrieve
Identity, If provided Identity is null, If Extended engine is null.Intalio Inc. (C) 1999-2008. All rights reserved http://www.intalio.com