2011-09-05 82 views
2

我有一个hibernate接口的mysql数据库,其中有一些不同类型的对象,其中一些被定期检索并被其他代码片段所改变,这些代码片段在JADE代理中运行。由于对象被检索的方式(在查询中,返回对象的集合),它们似乎不是由实体管理器管理的,当它们被传递给没有实体管理器工厂或管理器的代理时,它们肯定不会被管理。合并或更新持久化对象

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

我很确定我没有正确使用合并方法。任何人都可以提出一个好的方法,我可以将更新后的对象与现有的数据库对象结合起来,而无需事先知道对象的哪些属性发生了变化?可能是沿着搜索现有对象并删除它的行,然后添加新的行,但我不知道如何做到这一点没有搞乱PKeys等

+0

如何传递代理商之间的对象?你在复制类的休眠ID字段吗? – rambo

回答