Class HighLowKeyGenerator

All Implemented Interfaces:
KeyGenerator

public final class HighLowKeyGenerator extends AbstractBeforeKeyGenerator
HIGH-LOW key generators.
Version:
$Revision: 8685 $ $Date: 2006-04-10 16:39:24 -0600 (Mon, 10 Apr 2006) $
Author:
Oleg Nitz, Bruce Snyder, Ralf Joachim
See Also:
  • Constructor Details

    • HighLowKeyGenerator

      public HighLowKeyGenerator(PersistenceFactory factory, Properties params, int sqlType) throws MappingException
      Initialize the HIGH-LOW key generator.
      Parameters:
      factory - A PersistenceFactory instance.
      params - Database engine specific parameters.
      sqlType - A SQLTypidentifier.
      Throws:
      MappingException - if this key generator is not compatible with the persistance factory.
  • Method Details

    • initFromParameters

      public void initFromParameters(Properties params) throws MappingException
      Method to init some class variables.
      Parameters:
      params - Database engine specific parameters.
      Throws:
      MappingException - if this key generator is not compatible with the persistance factory.
    • 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
    • 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.