AbstractAfterKeyGenerator
, AbstractBeforeKeyGenerator
, AbstractKeyGenerator
, HighLowKeyGenerator
, IdentityKeyGenerator
, MaxKeyGenerator
, NoKeyGenerator
, SequenceAfterKeyGenerator
, SequenceBeforeKeyGenerator
, SequenceDuringKeyGenerator
, TableKeyGenerator
, UUIDKeyGenerator
public interface KeyGenerator
All the key generators belonging to the same database share the same non-transactional connection to the database.
The key generator is configured from the mapping file using Bean-like accessor methods.
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.
|
java.lang.Object generateKey(java.sql.Connection conn, java.lang.String tableName, java.lang.String primKeyName) throws PersistenceException
conn
- An open connection within the given transactiontableName
- The table nameprimKeyName
- The primary key namePersistenceException
- An error occured talking to persistent
storageboolean isInSameConnection()
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.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.Intalio Inc. (C) 1999-2008. All rights reserved http://www.intalio.com