org.hibernate.id.insert
Class AbstractReturningDelegate

java.lang.Object
  extended by org.hibernate.id.insert.AbstractReturningDelegate
All Implemented Interfaces:
InsertGeneratedIdentifierDelegate
Direct Known Subclasses:
IdentityGenerator.GetGeneratedKeysDelegate, IdentityGenerator.InsertSelectDelegate, SequenceIdentityGenerator.Delegate

public abstract class AbstractReturningDelegate
extends Object
implements InsertGeneratedIdentifierDelegate

Abstract InsertGeneratedIdentifierDelegate implementation where the underlying strategy causes the enerated identitifer to be returned as an effect of performing the insert statement. Thus, there is no need for an additional sql statement to determine the generated identitifer.

Author:
Steve Ebersole

Constructor Summary
AbstractReturningDelegate(PostInsertIdentityPersister persister)
           
 
Method Summary
protected abstract  Serializable executeAndExtract(PreparedStatement insert)
           
protected  PostInsertIdentityPersister getPersister()
           
 Serializable performInsert(String insertSQL, SessionImplementor session, Binder binder)
          Perform the indicated insert SQL statement and determine the identifier value generated.
protected abstract  PreparedStatement prepare(String insertSQL, SessionImplementor session)
           
protected  void releaseStatement(PreparedStatement insert, SessionImplementor session)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.hibernate.id.insert.InsertGeneratedIdentifierDelegate
prepareIdentifierGeneratingInsert
 

Constructor Detail

AbstractReturningDelegate

public AbstractReturningDelegate(PostInsertIdentityPersister persister)
Method Detail

performInsert

public final Serializable performInsert(String insertSQL,
                                        SessionImplementor session,
                                        Binder binder)
Description copied from interface: InsertGeneratedIdentifierDelegate
Perform the indicated insert SQL statement and determine the identifier value generated.

Specified by:
performInsert in interface InsertGeneratedIdentifierDelegate
Returns:
The generated identifier value.

getPersister

protected PostInsertIdentityPersister getPersister()

prepare

protected abstract PreparedStatement prepare(String insertSQL,
                                             SessionImplementor session)
                                      throws SQLException
Throws:
SQLException

executeAndExtract

protected abstract Serializable executeAndExtract(PreparedStatement insert)
                                           throws SQLException
Throws:
SQLException

releaseStatement

protected void releaseStatement(PreparedStatement insert,
                                SessionImplementor session)
                         throws SQLException
Throws:
SQLException