Du vil måske prøve at bruge en brugerdefineret Batcher ved at indstille egenskaben hibernate.jdbc.factory_class. Hvis du sørger for, at dvaletilstand ikke tjekker antallet af opdateringer af batch-operationer, kan du løse dit problem. Det kan du opnå ved at få din brugerdefinerede Batcher til at udvide klassen BatchingBatcher og derefter tilsidesætte metoden doExecuteBatch(...) til at se sådan ud:
@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;
}
}
}
Bemærk, at den nye metode ikke kontrollerer resultaterne af at udføre de forberedte udsagn. Husk på, at denne ændring kan påvirke dvaletilstand på en eller anden uventet måde (eller måske ikke).