问题描述:
双向多对多关系,比如:老师-学生,老师实体为关系持有方(mappedBy属性在学生实体),这样会有一个中间表 比如名称为:teacher_student.
现在因业务需要,做删除动作的时候,只能删除关联关系,并且既可以从老师实体方删除,也能从学生实体方删除.
从老师实体放删除这个jpa可以实现,可是从学生实体方去删除关联关系表怎么实现?
目前一个解决办法就是利用 EntityManager 调用createNativeQuery()执行本地sql直接操作中间表,可是这样的操作方式放在组件里总感觉是那么的"突兀",有没有更好的解决办法,比如:是否可以用jpql语句?
请各位大神不吝赐教!
注: Student 和 Teacher 中多对多彼此都是 Set t = new HashSet();