Hibernate级联删除问题 10

如图,如果删除A中id为1的记录,会同时删除B中AID为1的记录;如果删除A中id为3的记录,会同时C中AID为3的记录。Hibernate要怎么实现?请大神解答,最好附... 如图,如果删除A中id为1的记录,会同时删除B中AID为1的记录;如果删除A中id为3的记录,会同时C中AID为3的记录。Hibernate要怎么实现?请大神解答,最好附上实现代码。 展开
 我来答
诸葛不要太亮55
2016-09-08 · TA获得超过152个赞
知道答主
回答量:180
采纳率:0%
帮助的人:125万
展开全部

其实级联删除没有什么困难的就是一个一对多,一对一,多对一的关系,就好比是注解:

OneToMany
如果删除One这个对象,配置 允许级联删除将会删除many方所有的数据
OneToOne
如果删除One这个对象,配置 允许级联删除将会删除toOne方所有的数据
ManyToOne
在有控制权的映射文件中配置 cascade
配置选项
all : 所有操作都传递到相关联的对象
save-update 保存和更新传递到相关联的对象
delete 删除操作传递到相关联的对象
delete-orphan : 所有操作都传递到相关联的对象 并删除不再与父对象关联的对象。

你这样是一张表链接额外两张表,建议多加一个字段,然后按照上面的关系就可以实现你的要求了,否则主外键关键会错乱呀!我也不是什么大神,正在5itjob学习

提交回答

追问
谢谢。
你说的是哪张表多加一个字段?
我现在的问题是用户能直接操作的只有表A。B跟C仅仅作为数据补充,要根据A的增删而作出响应。也就是说,用户不能直接增加或删除B跟C中的数据。这么一来,我想通过表A的增删来级联B跟C,要如何做?
纯新手一枚,接触Hibernate满打满算就一个月。
追答
例如 你A跟B  C都有主外键关系,你删除A可以同时删除B C,   也就是A有两个字段,   id  bid cid    id是自己的主键,你删除A可以删除B C  也可以将  bid  或者cid 其中一个删除,也可以同时删除
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式