当我从表r中删除一条记录时,它又从链接表b中删除了一条记录,因为r与b有多对多关系,并且我使用Hibernate Join table来关联它们。这就是我的问题所在:我有一个依赖于链接表b的视图,删除r的结果会导致从视图中删除,但现在该视图记录已不存在。正因为如此,我得到了一个斯塔尔州的例外。
我可以要求Hibernate忽略级联删除吗?在尝试删除之前,我已经尝试过驱逐b表记录,但这似乎不起作用。
对此有些生疏,但我相信您可以在联接声明注释中控制级联行为,如下所示:
@ManyToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE})
private List<OtherData> dontDeleteMe;
这将级联持久化和合并操作,但不会更新或删除。
查看此页面了解更多详细信息:
http://vladmihalcea.com/a-beginners-guide-to-jpa-and-hibernate-cascade-types/