Interface KeyGenerator

    • Method Detail

      • generateKey

        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

        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.
      • executeStatement

        java.lang.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.
      • buildStatement

        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