Class MaxKeyGenerator

All Implemented Interfaces:
KeyGenerator

public final class MaxKeyGenerator extends AbstractBeforeKeyGenerator
MAX key generators.
Version:
$Revision$ $Date: 2006-04-25 15:08:23 -0600 (Tue, 25 Apr 2006) $
Author:
Oleg Nitz, Leonardo Souza Mario Bueno, Bruce Snyder, Ralf Joachim
See Also:
  • Constructor Details

    • MaxKeyGenerator

      public MaxKeyGenerator(PersistenceFactory factory, int sqlType) throws MappingException
      Initialize the MAX key generator.
      Parameters:
      factory - A PersistenceFactory instance.
      sqlType - A SQLTypidentifier.
      Throws:
      MappingException - if this key generator is not compatible with the persistance factory.
  • Method Details

    • generateKey

      public Object generateKey(Connection conn, String tableName, String primKeyName) throws PersistenceException
      Generate a new key for the specified table as "MAX(primary_key) + 1". If there is no records in the table, then the value 1 is returned.
      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
    • 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.