hibernate批量保存数据的方法是什么

avatar
作者
猴君
阅读量:4

Hibernate提供了批量保存数据的方法,可以通过以下两种方式实现:

  1. 使用Session的saveOrUpdate()方法:
Session session = sessionFactory.openSession(); Transaction transaction = session.beginTransaction();  for (Object object : objects) {     session.saveOrUpdate(object); }  transaction.commit(); session.close(); 
  1. 使用Session的save()方法,然后手动调用flush()方法:
Session session = sessionFactory.openSession(); Transaction transaction = session.beginTransaction();  int batchSize = 50; // 设置批处理大小 int count = 0;  for (Object object : objects) {     session.save(object);          if (++count % batchSize == 0) {         session.flush();         session.clear();     } }  transaction.commit(); session.close(); 

注意,第二种方法会在达到批处理大小时强制将数据写入数据库,并清除Session中的缓存,以避免OutOfMemoryError等问题。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!