Class IdentityKeyGeneratorFactory

java.lang.Object
org.castor.cpa.persistence.sql.keygen.IdentityKeyGeneratorFactory
All Implemented Interfaces:
KeyGeneratorFactory

public final class IdentityKeyGeneratorFactory extends Object implements KeyGeneratorFactory
IDENTITY key generator factory. The short name of this key generator is "IDENTITY".
It works for Sybase and SQL Server identity (autoincrement) fields and fetched @@identity after insert.
Version:
$Revision: 8093 $ $Date: 2006-04-25 15:08:23 -0600 (Tue, 25 Apr 2006) $
Author:
Oleg Nitz, Ralf Joachim
See Also:
  • Constructor Details

    • IdentityKeyGeneratorFactory

      public IdentityKeyGeneratorFactory()
  • Method Details

    • getKeyGeneratorName

      public String getKeyGeneratorName()
      Get the short name of the key generator. It is used to reference key generators in a mapping configuration file. If several key generators of the same type are used for the same database, then they are referenced by aliases.
      Specified by:
      getKeyGeneratorName in interface KeyGeneratorFactory
      Returns:
      Name of the KeyGenerator used to identify key generator (types).
    • getKeyGenerator

      public KeyGenerator getKeyGenerator(PersistenceFactory factory, Properties params, int sqlType) throws MappingException
      Produce the key generator.
      Specified by:
      getKeyGenerator in interface KeyGeneratorFactory
      Parameters:
      factory - Helper object for obtaining database-specific QuerySyntax.
      params - Parameters for key generator.
      sqlType - The SQL type of the primary key, the generated identities must have the corresponding Java type, e.g. java.sql.Types.INTEGER corresponds to java.lang.Integer, java.sql.Types.NUMERIC corresponds to java.lang.BigDecimal.
      Returns:
      A KeyGenerator instance.
      Throws:
      MappingException - If there's a problem resolving the mapping information.