я хочу использовать hibernate пакетное обновление , я попробовал пакетную вставку , и она работает нормально, вот конфигурация , которую я использую для гибернации:
<property name="hibernateProperties">
<value>
hibernate.dialect=org.hibernate.dialect.MySQLDialect
hibernate.hbm2ddl.auto=update
hibernate.show_sql=false
hibernate.jdbc.fetch_size=100
hibernate.jdbc.batch_size=100
hibernate.jdbc.batch_versioned_data=true
hibernate.order_inserts=true
hibernate.order_updates=true
hibernate.cache.use_query_cache=false
hibernate.cache.use_second_level_cache=false
</value>
</property>
и вот код DAO :
public void updateBulkEmployees(List<Employee> employees) throws Exception {
for (int i = 0; i < employees.size(); i++) {
sessionFactory.getCurrentSession().update(employees.get(i));
if (i % 100 == 0) {
sessionFactory.getCurrentSession().flush();
sessionFactory.getCurrentSession().clear();
log.debug("Flushing batch:" + (int) (i / 100));
}
}
sessionFactory.getCurrentSession().flush();
sessionFactory.getCurrentSession().clear();
}
ВЫПУСК : я могу заметить, что выполнение метода занимает так много времени (точно так жевремя, затраченное без использования пакетной обработки), поэтому пакетное обновление не работает, я что-то упустил в конфигурации или что-то не так?пожалуйста, посоветуйте, спасибо.