org.apache.cayenne.access.jdbc

## Class BatchAction

- java.lang.Object
- - org.apache.cayenne.access.jdbc.BaseSQLAction
  - - org.apache.cayenne.access.jdbc.BatchAction

- All Implemented Interfaces:
    SQLAction
  Direct Known Subclasses:
    PostgresBatchAction, SQLServerBatchAction

      public class BatchAction
      extends BaseSQLAction

  Since:
    1.2

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected RowDescriptor` | `keyRowDescriptor`
    `protected BatchQuery` | `query`
    `protected boolean` | `runningAsBatch`

    - ### Fields inherited from class org.apache.cayenne.access.jdbc.BaseSQLAction

      `dataNode`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `BatchAction(BatchQuery query, DataNode dataNode, boolean runningAsBatch)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected BatchTranslator` | `createTranslator()`
    `BatchQuery` | `getQuery()`
    `protected boolean` | `hasGeneratedKeys()` Returns whether BatchQuery generates any keys.
    `void` | `performAction(Connection connection, OperationObserver observer)` Executes a query using a strategy defined by the implementation.
    `protected PreparedStatement` | `prepareStatement(Connection connection, String queryStr, DbAdapter adapter, boolean generatedKeys)`
    `protected void` | `processGeneratedKeys(Statement statement, OperationObserver observer, BatchQueryRow row)` Implements generated keys extraction supported in JDBC 3.0 specification.
    `protected void` | `processGeneratedKeys(Statement statement, OperationObserver observer, List<BatchQueryRow> rows)`
    `protected void` | `runAsBatch(Connection con, BatchTranslator translator, OperationObserver delegate, boolean generatesKeys)`
    `protected void` | `runAsIndividualQueries(Connection connection, BatchTranslator translator, OperationObserver delegate, boolean generatesKeys)` Executes batch as individual queries over the same prepared statement.
    `protected boolean` | `supportsGeneratedKeys(boolean isBatch)`

    - ### Methods inherited from class org.apache.cayenne.access.jdbc.BaseSQLAction

      `getInMemoryOffset, readResultSet`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### runningAsBatch

          protected boolean runningAsBatch

    - #### query

          protected BatchQuery query

    - #### keyRowDescriptor

          protected RowDescriptor keyRowDescriptor

  - ### Constructor Detail

    - #### BatchAction

          public BatchAction(BatchQuery query,
                             DataNode dataNode,
                             boolean runningAsBatch)

      Since:
        4.0

  - ### Method Detail

    - #### getQuery

          public BatchQuery getQuery()

      Returns:
        Query which originated this action

    - #### performAction

          public void performAction(Connection connection,
                                    OperationObserver observer)
                             throws SQLException,
                                    Exception

      Description copied from interface: `SQLAction`
      Executes a query using a strategy defined by the implementation.
      Throws:
        `SQLException`
        `Exception`

    - #### createTranslator

          protected BatchTranslator createTranslator()

    - #### runAsBatch

          protected void runAsBatch(Connection con,
                                    BatchTranslator translator,
                                    OperationObserver delegate,
                                    boolean generatesKeys)
                             throws SQLException,
                                    Exception

      Throws:
        `SQLException`
        `Exception`

    - #### runAsIndividualQueries

          protected void runAsIndividualQueries(Connection connection,
                                                BatchTranslator translator,
                                                OperationObserver delegate,
                                                boolean generatesKeys)
                                         throws SQLException,
                                                Exception

      Executes batch as individual queries over the same prepared statement.
      Throws:
        `SQLException`
        `Exception`

    - #### prepareStatement

          protected PreparedStatement prepareStatement(Connection connection,
                                                       String queryStr,
                                                       DbAdapter adapter,
                                                       boolean generatedKeys)
                                                throws SQLException

      Throws:
        `SQLException`

    - #### supportsGeneratedKeys

          protected boolean supportsGeneratedKeys(boolean isBatch)

    - #### hasGeneratedKeys

          protected boolean hasGeneratedKeys()

      Returns whether BatchQuery generates any keys.

    - #### processGeneratedKeys

          protected void processGeneratedKeys(Statement statement,
                                              OperationObserver observer,
                                              BatchQueryRow row)
                                       throws SQLException

      Implements generated keys extraction supported in JDBC 3.0 specification.
      Throws:
        `SQLException`
      Since:
        4.0

    - #### processGeneratedKeys

          protected void processGeneratedKeys(Statement statement,
                                              OperationObserver observer,
                                              List<BatchQueryRow> rows)
                                       throws SQLException

      Throws:
        `SQLException`
      Since:
        4.2

Copyright © 2001–2021 Apache Cayenne. All rights reserved.