2012-04-13 31 views

回答

10

的原因是从Java文档清晰,

有利于个人saveOrUpdate或合并使用

正如你所看到的方法的实现,从link取码,

public void saveOrUpdateAll(final Collection entities) throws DataAccessException { 
768   executeWithNativeSession(new HibernateCallback() { 
769    public Object doInHibernate(Session session) throws HibernateException { 
770     checkWriteOperationAllowed(session); 
771     for (Iterator it = entities.iterator(); it.hasNext();) { 
772      session.saveOrUpdate(it.next()); 
773     } 
774     return null; 
775    } 
776   }); 
777  } 

这种方法是比较少用,它不能成为你的事务中。所以,Spring希望你迭代列表并保存单个对象。

loadAll()方法是不同且有用的。它与saveOrUpdateAll()不相似。

你说得对,您的观察结果deleteAll()saveOrUpdateAll()类似,我同意它不一致,一个不推荐使用,另一个不使用。

+0

谢谢马努,很好的解释!我不知道这种方法不能用于交易。 – 2012-04-14 12:43:59

相关问题