如何在Spring中保存OrUpdateAll(4.2.5.RELEASE)

时间:2016-04-15 06:32:13

标签: java spring hibernate

Spring 3.1.4.RELEASE' HibernateDaoSupport中,有一个名为saveOrUpdateAll的方法。它用于保存集合。但是在4.2.5中,它已经消失了。现在我无法找到保存/更新集合的正确方法。你能给我一个网站来搞清楚吗?

1 个答案:

答案 0 :(得分:1)

您可能正在构建XML配置或Java配置中的SessionFactory,具体取决于您的口味。您只需将SessionFactory注入您的存储库bean并使用它。

一个简单的例子可能如下:

@Repository
public class SomeEntityRepository {
  private SessionFactory sessionFactory;

  // Constructor-injection injects a SessionFactory
  @Autowired
  public SomeEntityRepository(SessionFactory sessionFactory) {
    this.sesssionFactory = sessionFactory;
  }

  // uses SessionFactory to get the current session, iterates the collection
  // and calls saveOrUpdate on each instance inside the collection.
  public void saveOrUpdateAll(Collection<?> collection) {
    Session session = sessionFactory.getCurrentSession();
    for(Object object : collection) {
      session.saveOrUpdate(object);
    }       
  }
}