## org.hibernate.engine.jdbc.batch.spi
Interface Batch

All Known Implementing Classes:
  AbstractBatchImpl, BatchingBatch, NonBatchingBatch

    public interface Batch

Conceptually models a batch.

Unlike directly in JDBC, here we add the ability to batch together multiple statements at a time. In the underlying JDBC this correlates to multiple `PreparedStatement` objects (one for each DML string) maintained within the batch.

Method Summary
`void` `addObserver(BatchObserver observer)` Adds an observer to this batch.
`void` `addToBatch()` Indicates completion of the current part of the batch.
`void` `execute()` Execute this batch.
`PreparedStatement` `getBatchStatement(String sql, boolean callable)` Get a statement which is part of the batch, creating if necessary (and storing for next time).
`BatchKey` `getKey()` Retrieves the object being used to key (uniquely identify) this batch.
`void` `release()` Used to indicate that the batch instance is no longer needed and that, therefore, it can release its resources.

Method Detail

### getKey

    BatchKey getKey()

  Retrieves the object being used to key (uniquely identify) this batch.

  Returns:
    The batch key.

### addObserver

    void addObserver(BatchObserver observer)

  Adds an observer to this batch.

  Parameters:
    `observer` - The batch observer.

### getBatchStatement

    PreparedStatement getBatchStatement(String sql,
                                        boolean callable)

  Get a statement which is part of the batch, creating if necessary (and storing for next time).

  Parameters:
    `sql` - The SQL statement.
    `callable` - Is the SQL statement callable?
  Returns:
    The prepared statement instance, representing the SQL statement.

### addToBatch

    void addToBatch()

  Indicates completion of the current part of the batch.

### execute

    void execute()

  Execute this batch.

### release

    void release()

  Used to indicate that the batch instance is no longer needed and that, therefore, it can release its resources.

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