## org.hibernate.id.insert
Class AbstractReturningDelegate

    java.lang.Object
      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 generated identifier 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 identifier.

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`
  Parameters:
    `insertSQL` - The INSERT statement string
    `session` - The session in which we are operating
    `binder` - The param binder
  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`

Copyright © 2001-2010 Red Hat, Inc. All Rights Reserved.