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
- Since:
- 1.2
-
Field Summary
FieldsFields inherited from class BaseSQLAction
dataNode -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected booleangetQuery()protected booleanReturns whether BatchQuery generates any keys.voidperformAction(Connection connection, OperationObserver observer) Executes a query using a strategy defined by the implementation.protected PreparedStatementprepareStatement(Connection connection, String queryStr, DbAdapter adapter, boolean generatedKeys) protected voidprocessGeneratedKeys(Statement statement, OperationObserver observer, List<BatchQueryRow> rows) protected voidprocessGeneratedKeys(Statement statement, OperationObserver observer, BatchQueryRow row) Implements generated keys extraction supported in JDBC 3.0 specification.protected PSParameter<?>[]rowBindings(TranslatedBatch translated, int row, ExtendedTypeMap extendedTypes) Resolves the given batch row against the translated batch parameters, returning per-row bindings.protected voidrunAsBatch(Connection con, TranslatedBatch translated, OperationObserver delegate, boolean generatesKeys) protected voidrunAsIndividualQueries(Connection connection, TranslatedBatch translated, OperationObserver delegate, boolean generatesKeys) Executes batch as individual queries over the same prepared statement.protected booleansupportsGeneratedKeys(boolean isBatch) Methods inherited from class BaseSQLAction
getInMemoryOffset, readResultSet
-
Field Details
-
runningAsBatch
protected boolean runningAsBatch -
query
-
keyColumns
-
-
Constructor Details
-
BatchAction
- Since:
- 4.0
-
-
Method Details
-
getQuery
- Returns:
- Query which originated this action
-
performAction
-
canRunAsBatch
protected boolean canRunAsBatch() -
runAsBatch
protected void runAsBatch(Connection con, TranslatedBatch translated, OperationObserver delegate, boolean generatesKeys) throws Exception - Throws:
Exception
-
runAsIndividualQueries
protected void runAsIndividualQueries(Connection connection, TranslatedBatch translated, OperationObserver delegate, boolean generatesKeys) throws Exception Executes batch as individual queries over the same prepared statement.- Throws:
Exception
-
rowBindings
protected PSParameter<?>[] rowBindings(TranslatedBatch translated, int row, ExtendedTypeMap extendedTypes) Resolves the given batch row against the translated batch parameters, returning per-row bindings. -
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
-