आप hibernate.jdbc.factory_class प्रॉपर्टी सेट करके कस्टम बैचर का उपयोग करने का प्रयास करना चाहेंगे। यह सुनिश्चित करना कि हाइबरनेट बैच संचालन की अद्यतन संख्या की जांच नहीं करेगा, आपकी समस्या को ठीक कर सकता है, आप अपने कस्टम बैचर को बैचिंगबैचर वर्ग का विस्तार करके, और फिर विधि को ओवरराइड करके प्राप्त कर सकते हैं 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;
}
}
}
ध्यान दें कि नई विधि तैयार कथनों को निष्पादित करने के परिणामों की जांच नहीं करती है। ध्यान रखें कि यह परिवर्तन करने से कुछ अनपेक्षित तरीके से हाइबरनेट प्रभावित हो सकता है (या शायद नहीं)।