Class AbstractAfterKeyGenerator
java.lang.Object
org.castor.cpa.persistence.sql.keygen.AbstractKeyGenerator
org.castor.cpa.persistence.sql.keygen.AbstractAfterKeyGenerator
- All Implemented Interfaces:
KeyGenerator
- Direct Known Subclasses:
IdentityKeyGenerator,SequenceAfterKeyGenerator
Abstract class that implements the KeyGenerator interface for AFTER_INSERT style. The key
generator is used for producing identities for objects before they are created in the
database.
- Version:
- $Revision$ $Date: 2009-07-13 17:22:43 (Tue, 28 Jul 2009) $
- Author:
- Ahmad Hassan, Ralf Joachim
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbuildStatement(SQLEngine engine) Builds the SQL insert statement.executeStatement(Database database, CastorConnection conn, Identity identity, ProposedEntity entity) Executes the SQL statement after preparing the PreparedStatement.Methods inherited from class org.castor.cpa.persistence.sql.keygen.AbstractKeyGenerator
closeSeparateConnection, getSeparateConnectionMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.castor.cpa.persistence.sql.keygen.KeyGenerator
generateKey, isInSameConnection
-
Constructor Details
-
AbstractAfterKeyGenerator
Constructor.- Parameters:
params- Parameters for key generator.
-
-
Method Details
-
buildStatement
Builds the SQL insert statement.- Parameters:
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.- Returns:
- KeyGenerator
-
executeStatement
public Object executeStatement(Database database, CastorConnection conn, Identity identity, ProposedEntity entity) throws PersistenceException Executes the SQL statement after preparing the PreparedStatement.- Parameters:
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.- Returns:
- Identity
- Throws:
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.
-