询问Hibernate 在使用join table 时不执行级联?
Ask Hibernate to not perform the cascade when using a join table?
当我从 table r 中删除一条记录时,它又从链接 table b 中删除一条记录,因为 r 与 b 具有多对多关系,而我正在使用 Hibernate加入 Table 来关联他们。这是我的问题所在:我有一个视图依赖于链接 table、b,删除 r 的结果导致从视图中删除,但现在该视图记录不再存在。因此,我得到了 Stale State 异常。
我可以要求 Hibernate 忽略级联删除吗?在尝试删除之前,我曾尝试驱逐 b table 记录,但这似乎不起作用。
对此有点生疏,但我相信您可以在连接声明注释中控制级联行为,如下所示:
@ManyToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE})
private List<OtherData> dontDeleteMe;
这会级联持久化和合并操作,但不会更新或删除。
查看此页面了解更多详情:
http://vladmihalcea.com/a-beginners-guide-to-jpa-and-hibernate-cascade-types/
当我从 table r 中删除一条记录时,它又从链接 table b 中删除一条记录,因为 r 与 b 具有多对多关系,而我正在使用 Hibernate加入 Table 来关联他们。这是我的问题所在:我有一个视图依赖于链接 table、b,删除 r 的结果导致从视图中删除,但现在该视图记录不再存在。因此,我得到了 Stale State 异常。
我可以要求 Hibernate 忽略级联删除吗?在尝试删除之前,我曾尝试驱逐 b table 记录,但这似乎不起作用。
对此有点生疏,但我相信您可以在连接声明注释中控制级联行为,如下所示:
@ManyToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE})
private List<OtherData> dontDeleteMe;
这会级联持久化和合并操作,但不会更新或删除。
查看此页面了解更多详情:
http://vladmihalcea.com/a-beginners-guide-to-jpa-and-hibernate-cascade-types/