gpt4 book ai didi

java - 为什么 saveOrUpdateAll 在 spring HibernateOperations 中被弃用

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:14:10 32 4
gpt4 key购买 nike

查看 source code .

这背后可能有正当理由,但奇怪的是我可以执行 hibernate.deleteAllhibernate.loadAll,但不能执行 hibernate.saveOrUpdateAll(当然我可以做到这一点,但如果这个方法被弃用意味着它可能会在下一个版本中消失)

最佳答案

从 Java 文档中可以清楚地看出原因,

in favor of individual saveOrUpdate or merge usage

如您所见,方法的实现,代码取自 link ,

public void saveOrUpdateAll(final Collection entities) throws DataAccessException {
executeWithNativeSession(new HibernateCallback() {
public Object doInHibernate(Session session) throws HibernateException {
checkWriteOperationAllowed(session);
for (Iterator it = entities.iterator(); it.hasNext(); ) {
session.saveOrUpdate(it.next());
}
return null;
}
});
}

这个方法用的少,不能在你的事务里面。因此,spring 希望您迭代列表并保存各个对象。

loadAll() 方法不同而且很有用。它与 saveOrUpdateAll() 不同。

您的观察是正确的,deleteAll()saveOrUpdateAll() 相似,我同意这是不一致的,一个被弃用,另一个不被弃用。

关于java - 为什么 saveOrUpdateAll 在 spring HibernateOperations 中被弃用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10136775/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com