Class AbstractBeforeKeyGenerator

    • Constructor Detail

      • AbstractBeforeKeyGenerator

        public AbstractBeforeKeyGenerator​(PersistenceFactory factory)
        Constructor.
        Parameters:
        factory - Persistence factory for the database engine the entity is persisted in. Used to format the SQL statement
    • Method Detail

      • buildStatement

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

        public 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.
      • bindIdentity

        public void bindIdentity​(Identity internalIdentity,
                                 CastorStatement stmt)
                          throws java.sql.SQLException,
                                 PersistenceException
        Binds the identity values.
        Parameters:
        internalIdentity - Identity values.
        stmt - CastorStatement containing Connection and PersistenceFactory.
        Throws:
        java.sql.SQLException - If a database access error occurs.
        PersistenceException - If identity size mismatches.