我们使用Hibernate 5,我们每天需要保留多达100万条记录,现在我们使用的代码是
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
try
{
session.getTransaction().begin();
for (CustomObject customObject : CustomObjectList)
{
session.save(customObject);
}
log.info("Saved all entities in Hibernate Session");
session.getTransaction().commit();
}
catch (HibernateException e)
{
log.error("HibernateException :{}", e.getMessage(), e);
session.getTransaction().rollback();
session.clear();
}
finally
{
HibernateUtil.closeSession(session);
}
此处CustomObject是我的表实体,因此我的CustomObjectList包含100万条记录,并使用默认的批量插入属性保存到数据库中
我们可以一次性保留所有列表值而不是迭代,提高性能的最佳方法是什么?
是否可以使用session.save(customObjectList)
?