Anda mungkin ingin mencoba menggunakan Batcher kustom dengan menyetel properti hibernate.jdbc.factory_class. Memastikan hibernate tidak akan memeriksa jumlah pembaruan operasi batch mungkin memperbaiki masalah Anda, Anda dapat mencapainya dengan membuat Batcher kustom Anda memperluas kelas BatchingBatcher, dan kemudian mengganti metode doExecuteBatch(...) agar terlihat seperti:
@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;
}
}
}
Perhatikan bahwa metode baru tidak memeriksa hasil eksekusi pernyataan yang disiapkan. Ingatlah bahwa membuat perubahan ini dapat memengaruhi hibernasi dengan cara yang tidak terduga (atau mungkin tidak).