gpt4 book ai didi

java - 合并或更新持久化对象

转载 作者:搜寻专家 更新时间:2023-10-30 21:36:33 24 4
gpt4 key购买 nike

我有一个 hibernate 接口(interface)的 mysql 数据库,其中包含大量不同类型的对象,其中一些对象由其他代码片段定期检索和更改,这些代码片段在 JADE 代理中运行。由于检索对象的方式(在查询中,返回对象集合),它们似乎不受实体管理器的管理,并且在没有实体管理器工厂或管理器的情况下将它们传递给代理时肯定不会受到管理.

数据库中的对象在代理之间传递,在返回数据库之前,此时,我想更新数据库中对象的版本——但每次合并对象时,它都会创建一个新的数据库中的对象。

我很确定我没有正确使用合并方法。任何人都可以建议一种好方法,我可以将更新的对象与现有的数据库对象结合起来,而无需事先知道对象的哪些属性已更改?可能是搜索现有对象并删除它,然后添加新对象,但我不确定如何在不弄乱 PKey 等的情况下执行此操作

最佳答案

Hibernate 有 saveOrUpdate 方法,它可以保存对象或更新它,具体取决于具有相同 ID 的对象是否已存在:

http://docs.jboss.org/hibernate/core/3.3/reference/en/html/objectstate.html#objectstate-saveorupdate

关于java - 合并或更新持久化对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7309344/

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