org.hibernate.jdbc.Expectation Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of beangle-hibernate-core Show documentation
Show all versions of beangle-hibernate-core Show documentation
Hibernate Orm Core Shade,Support Scala Collection
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or .
*/
package org.hibernate.jdbc;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import org.hibernate.HibernateException;
/**
* Defines an expected DML operation outcome.
*
* @author Steve Ebersole
*/
public interface Expectation {
/**
* Is it acceptable to combine this expectation with statement batching?
*
* @return True if batching can be combined with this expectation; false otherwise.
*/
boolean canBeBatched();
/**
* The number of parameters this expectation implies. E.g.,
* {@link Expectations.BasicParamExpectation} requires a single
* OUT parameter for reading back the number of affected rows.
*/
default int getNumberOfParametersUsed() {
return 0;
}
/**
* Perform verification of the outcome of the RDBMS operation based on
* the type of expectation defined.
*
* @param rowCount The RDBMS reported "number of rows affected".
* @param statement The statement representing the operation
* @param batchPosition The position in the batch (if batching)
* @param statementSQL The SQL backing the prepared statement, for logging purposes
* @throws SQLException Exception from the JDBC driver
* @throws HibernateException Problem processing the outcome.
*/
void verifyOutcome(int rowCount, PreparedStatement statement, int batchPosition, String statementSQL) throws SQLException, HibernateException;
/**
* Perform any special statement preparation.
*
* @param statement The statement to be prepared
* @return The number of bind positions consumed (if any)
* @throws SQLException Exception from the JDBC driver
* @throws HibernateException Problem performing preparation.
*/
int prepare(PreparedStatement statement) throws SQLException, HibernateException;
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy