Hibernate:saveOrUpdateAll和transaction

时间:2011-11-03 07:43:06

标签: java hibernate transactions

我目前正在使用hibernate的3.3版本。

目前,hibernate的设置是在每个持久化单个对象后自动提交。

我想围绕它包装一个事务,因此它只会在批处理结束后提交。

代码有问题:

  getHibernateTemplate().saveOrUpdateAll(collectionOfObject);

我查阅了文档here,但想知道是否有替代方法(除了重写它以使用HSQL)

修改

我的目标是围绕一堆插件进行交易。目前它是每个插入的自动提交

1 个答案:

答案 0 :(得分:2)

如果您想在 Spring 中使用事务管理,请阅读here了解如何操作。

此外,使用不应使用HibernateTemplate使用Session对象,而不是如下所示。

    sessionFactory = getHibernateTemplate().getSessionFactory();
    Session session = sessionFactory.getCurrentSession();
    for (Bean bean : listBeans) {
        session.saveOrUpdate(bean );
    }

因为没有办法在会话中一次保存集合。这将在方法退出后提交数据。