我有一个名为“Parent”的简单 pojo,其中包含对象“Child”的集合。
在hibernate/jpa中,它只是一个一对多的关联,孩子不知道他们的父母:这些孩子对象可以有不同类型的父母,所以更容易不知道父母(想想代表标签的孩子,父母可以是具有标签的不同对象类型)。
现在,我将我的 Parent 对象发送到我网站的客户端视图以允许用户对其进行修改。
为此,我使用 Hibernate/GWT/Gilead。
我的用户进行了一些更改,然后单击将我的 Parent 对象发送到服务器的保存按钮 (ajax)。我父母的字段已被修改,但更重要的是,集合中已添加或删除了一些子对象。
总而言之,当父对象返回服务器时,它现在在其集合中具有: - id 为空且需要持久化的新“子”对象 - id 不为空且需要合并的已修改“子”对象 -可能被黑客入侵的“子”对象,其中 id 不为空但不属于父级 - 缺少(删除)子对象:需要删除
你如何保存父对象(及其集合)?您是否从数据库加载父集合以比较修改后集合的每个对象以查看是否没有被黑客入侵的项目?您是否清除旧集合(以删除孤儿)并重新添加新孩子(但有一些尚未修改的孩子)?
谢谢
PS:对不起我的英语,我希望你理解这个概念;)