Може да искате да опитате да използвате персонализиран пакет, като зададете свойството hibernate.jdbc.factory_class. Уверете се, че hibernate няма да проверява броя на актуализациите на груповите операции, може да реши проблема ви, можете да постигнете това, като накарате вашия персонализиран Batcher да разшири класа BatchingBatcher и след това да замените метода doExecuteBatch(...), за да изглежда така:
@Override
protected void doExecuteBatch(PreparedStatement ps) throws SQLException, HibernateException {
if ( batchSize == 0 ) {
log.debug( "no batched statements to execute" );
}
else {
if ( log.isDebugEnabled() ) {
log.debug( "Executing batch size: " + batchSize );
}
try {
// checkRowCounts( ps.executeBatch(), ps );
ps.executeBatch();
}
catch (RuntimeException re) {
log.error( "Exception executing batch: ", re );
throw re;
}
finally {
batchSize = 0;
}
}
}
Имайте предвид, че новият метод не проверява резултатите от изпълнението на подготвените оператори. Имайте предвид, че извършването на тази промяна може да повлияе на хибернацията по някакъв неочакван начин (или може би не).