Class NoKeyGenerator

java.lang.Object
org.castor.cpa.persistence.sql.keygen.AbstractKeyGenerator
org.castor.cpa.persistence.sql.keygen.NoKeyGenerator
All Implemented Interfaces:
KeyGenerator

public final class NoKeyGenerator extends AbstractKeyGenerator
Key generator implementation that does not generate key.
Version:
$Revision: 8241 $ $Date: 2006-04-13 06:47:36 -0600 (Thu, 13 Apr 2006) $
Author:
Ahmad Hassan, Ralf Joachim
  • Constructor Details

    • NoKeyGenerator

      public NoKeyGenerator(PersistenceFactory factory)
      Constructor.
      Parameters:
      factory - Persistence factory for the database engine the entity is persisted in. Used to format the SQL statement.
  • Method Details

    • isInSameConnection

      public boolean isInSameConnection()
      Is key generated in the same connection as INSERT? For DURING_INSERT style this method is never called.
      Returns:
      {code}True{code} If this instance is in same JDBC Connection.
    • generateKey

      public Object generateKey(Connection conn, String tableName, String primKeyName) throws PersistenceException
      Generate a new key for the specified table. This method is called when a new object is about to be created. In some environments the name of the owner of the object is known, e.g. the principal in a J2EE server. This method is never called for DURING_INSERT key generators.
      Parameters:
      conn - An open connection within the given transaction
      tableName - The table name
      primKeyName - The primary key name
      Returns:
      A new key
      Throws:
      PersistenceException - An error occured talking to persistent storage
    • buildStatement

      public KeyGenerator buildStatement(SQLEngine engine)
      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.
    • bindIdentity

      public void bindIdentity(Identity internalIdentity, CastorStatement stmt) throws SQLException, PersistenceException
      Binds the identity values.
      Parameters:
      internalIdentity - Identity values.
      stmt - CastorStatement containing Connection and PersistenceFactory.
      Throws:
      SQLException - If a database access error occurs.
      PersistenceException - If identity size mismatches.