Class HighLowKeyGenerator

    • Constructor Detail

      • HighLowKeyGenerator

        public HighLowKeyGenerator​(PersistenceFactory factory,
                                   java.util.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 Detail

      • initFromParameters

        public void initFromParameters​(java.util.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 java.lang.Object generateKey​(java.sql.Connection conn,
                                            java.lang.String tableName,
                                            java.lang.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.