如何修改级联出来的数据

在Hibernate中,通过一方对多关系,级联出多方的集合。现在要对集合中的对象做修改,添加,修改。
修改,添加对象到集合中,保存一方可以完成!要删除集合中的一条数据,如何通过保存一方,实现删除操作?
一方的配置如下:






[b]问题补充:[/b]
hibernate参考手册:
如果没有父对象,子对象就不应该存在,如果将子对象从collection中移除,实际上我们是想删除它。要实现这种要求,就必须使用cascade="all-delete-orphan"。
是否在父方设置cascade="all-delete-orphan"。,就能实现对子对象的增加、修改、删除呢?

4个回答

一楼和三楼...

inverse="true" 表示由one-to-many中的many方来维护对象状态与数据库数据的映射关系. 楼主的问题和inverse属性没关系.
只与cascade属性有关,这个属性控制关联关系的级联操作.
cascade="all-delete-orphan"时,在操作Set移除其中一个对象,会在数据库中删除掉移除对象的数据,执行delete语句.


把inverse设为false,表示由多方来维护二者的关系,就可以了

还是自己在代码里去实现级联操作比较保险

还是inverse="true",反转过来,由单方统一维护比较好。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问