Class DynamicSQLBatchWritingMechanism
- java.lang.Object
-
- org.eclipse.persistence.internal.databaseaccess.BatchWritingMechanism
-
- org.eclipse.persistence.internal.databaseaccess.DynamicSQLBatchWritingMechanism
-
- All Implemented Interfaces:
Serializable
,Cloneable
public class DynamicSQLBatchWritingMechanism extends BatchWritingMechanism
INTERNAL: DynamicSQLBatchWritingMechanism is a private class, used by the DatabaseAccessor. It provides the required behavior for batching statements, for write, with parameter binding turned off.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected long
batchSize
This attribute is used to store the maximum length of all strings batched togetherprotected DatabaseCall
lastCallAppended
protected List<String>
sqlStrings
This variable is used to store the SQLStrings that are being batchedprotected boolean
usesOptimisticLocking
Records if this batch uses optimistic locking.-
Fields inherited from class org.eclipse.persistence.internal.databaseaccess.BatchWritingMechanism
databaseAccessor, executionCount, maxBatchSize, queryTimeoutCache, statementCount
-
-
Constructor Summary
Constructors Constructor Description DynamicSQLBatchWritingMechanism(DatabaseAccessor databaseAccessor)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
appendCall(AbstractSession session, DatabaseCall dbCall)
INTERNAL: This method is called by the DatabaseAccessor to add this statement to the list of statements being batched.void
clear()
INTERNAL: This method is used to clear the batched statements without the need to execute the statements first This is used in the case of rollback.void
executeBatchedStatements(AbstractSession session)
INTERNAL: This method is used by the DatabaseAccessor to execute and clear the batched statements in the case that a non batchable statement is being executedprotected PreparedStatement
prepareBatchStatement(AbstractSession session)
INTERNAL: This method is used to build the batch statement by concatenating the strings together.protected Statement
prepareJDK12BatchStatement(AbstractSession session)
INTERNAL: This method is used to build the batch statement for the JDBC2.0 specificationprotected void
switchMechanisms(AbstractSession session, DatabaseCall dbCall)
INTERNAL: This method is used to switch from this mechanism to the alternate automatically-
Methods inherited from class org.eclipse.persistence.internal.databaseaccess.BatchWritingMechanism
cacheQueryTimeout, clearCacheQueryTimeout, clone, getMaxBatchSize, initialize, setAccessor, setMaxBatchSize
-
-
-
-
Field Detail
-
sqlStrings
protected List<String> sqlStrings
This variable is used to store the SQLStrings that are being batched
-
batchSize
protected long batchSize
This attribute is used to store the maximum length of all strings batched together
-
usesOptimisticLocking
protected boolean usesOptimisticLocking
Records if this batch uses optimistic locking.
-
lastCallAppended
protected DatabaseCall lastCallAppended
-
-
Constructor Detail
-
DynamicSQLBatchWritingMechanism
public DynamicSQLBatchWritingMechanism(DatabaseAccessor databaseAccessor)
-
-
Method Detail
-
appendCall
public void appendCall(AbstractSession session, DatabaseCall dbCall)
INTERNAL: This method is called by the DatabaseAccessor to add this statement to the list of statements being batched. This call may result in the Mechanism executing the batched statements and possibly, switching out the mechanisms- Specified by:
appendCall
in classBatchWritingMechanism
-
clear
public void clear()
INTERNAL: This method is used to clear the batched statements without the need to execute the statements first This is used in the case of rollback.- Specified by:
clear
in classBatchWritingMechanism
-
executeBatchedStatements
public void executeBatchedStatements(AbstractSession session)
INTERNAL: This method is used by the DatabaseAccessor to execute and clear the batched statements in the case that a non batchable statement is being executed- Specified by:
executeBatchedStatements
in classBatchWritingMechanism
-
switchMechanisms
protected void switchMechanisms(AbstractSession session, DatabaseCall dbCall)
INTERNAL: This method is used to switch from this mechanism to the alternate automatically
-
prepareBatchStatement
protected PreparedStatement prepareBatchStatement(AbstractSession session) throws DatabaseException
INTERNAL: This method is used to build the batch statement by concatenating the strings together.- Throws:
DatabaseException
-
prepareJDK12BatchStatement
protected Statement prepareJDK12BatchStatement(AbstractSession session) throws DatabaseException
INTERNAL: This method is used to build the batch statement for the JDBC2.0 specification- Throws:
DatabaseException
-
-