Você pode tentar usar um Batcher customizado configurando a propriedade hibernate.jdbc.factory_class. Certificar-se de que a hibernação não verificará a contagem de atualização das operações em lote pode corrigir seu problema, você pode conseguir isso fazendo com que seu Batcher personalizado estenda a classe BatchingBatcher e, em seguida, substituindo o método 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;
}
}
}
Observe que o novo método não verifica os resultados da execução das instruções preparadas. Lembre-se de que fazer essa alteração pode afetar a hibernação de maneira inesperada (ou talvez não).