gpt4 book ai didi

java - 如何在 Hibernate 中更新实体列表

转载 作者:行者123 更新时间:2023-11-30 08:16:14 25 4
gpt4 key购买 nike

我有一个正在尝试在数据库中更新的对象列表。我可以像这样更新其中一个

MyObj entity = getObjectFromDb();
entity.changeSomething();
getHibernateTemplate().update(entity);

如果我有一个对象列表怎么办?是否可以在不迭代对象列表并逐一更新它们的情况下做到这一点?这对我来说听起来效率不高。所以我需要这样的东西

List<MyObj> entities = getObjectsFromDb();
//change some attribute of the entities
getHibernateTemplate().update(entities); //this doesn't work because entities is a List

最佳答案

我不知道 hibernate 特定的方法需要多个对象(这并不意味着它不存在)。编辑->Updating a collection does exist!我想它只是一一迭代它们并为每个对象执行 1 个查询。您可以选择以下几个选项(按照我认为最好/性能最好的顺序排列):

  • 你可以写一个 Bulk HQL Update更新声明。
  • 您可以编写原始 SQL 更新语句。
  • 您可以编写自己的辅助对象来获取多个对象并保存它们
  • 您可以依靠 Hibernate 的脏/刷新逻辑来保存已更改的对象,而开发人员将永远诅咒您。

关于java - 如何在 Hibernate 中更新实体列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29627913/

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