Hibernate一次性保存Java Collection

时间:2017-04-13 20:07:01

标签: java hibernate

我们使用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)

0 个答案:

没有答案