在hibernate和spring整合中多对多在从表怎么删除??

user和role(从表设置了mappedBy)是多对多关系,怎么在删除role的时候把中间表的关联也删除,而user不删除... user和role(从表设置了mappedBy)是多对多关系,怎么在删除role的时候把中间表的关联也删除,而user不删除 展开
 我来答
岁月忐忑如歌
2012-11-21 · TA获得超过484个赞
知道小有建树答主
回答量:112
采纳率:0%
帮助的人:53.8万
展开全部
如果删除某一个role,你可以这样做,先根据id把该role查询出来,假设该role对象有关联属性users,要删除中间表中的数据 role.setUsers(null);,然后删除role就可以了
更多追问追答
追问
我是在前台弄了一个从数据库中查询出来的roles的datagride的表,表中都有id,在列上点击删除后就提示删除,然后把将要删除的id通过ajax提交到后台,但是在删除该id的role对象的时候总是出现约束错误
追答
所以你应该删除中间表中的该role对应的记录,删除的方式有两种,第一种是需要设置级联,在role.hbm.xml中就可以了,第二种不需要设置级联操作,做法就是我上面说的步骤,三步走:1、根据id查出role,2、删除该role对应的中间表中数据,操作很简单,就是将该role对象关联的users对象置空,也就是role.setUsers(null),3、删除该对象就行了,提交事务就行了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式