问题描述
今天在做项目遇到一个问题,建立两个实体order和orderDetail,他们是onetomany关系,当我想要之间删除一个orderDetail时,发现不能删除但是程序也不出错。实体建立模型如下图:
order中:

orderDetail中:

解决思路
1.首先我想到了直接删除orderDetail不行,是否可以直接通过update order的关联关系进行级联删除啦,于是写了一下代码

结果发现这样是可以删除orderDetail,但是这种删除方式并不是我想要的,而且感觉也不是最好的解决方法。
2.在结合上一种方法实现成功后,突然想到是否是关联关系建立的原因,如果我先把关联关系断开,在进行删除orderDetail是否能成功:

结果证明,成功删除
总结
虽然实现了我想要的功能,但是jpa的删除具体逻辑还需要深入研究。自我感觉是因为order是关系维护方,想要删除many端就必须先断开关系在进行删除
以上只是我个人的观点,比一定正确,请各位大佬轻喷。
本文探讨了在使用JPA进行实体管理时,遇到的级联删除问题。作者通过尝试不同的方法,最终找到了断开关联关系后再进行删除的解决方案,并分享了其思考过程。

4万+

被折叠的 条评论
为什么被折叠?



