我是 Hibernate 的新手,我需要单向多对一删除级联。
显然,唯一的选择是,当父级知道其子级时。 但是如果我通过 SQL 手动执行呢?这个解决方案好吗?
alter table CHILDREN
add constraint FK_i4jjy61om foreign key (PARENT)
references PARENT
on delete cascade;
最佳答案
你可以使用 SQL ON DELETE CASCADE
,但你必须小心 evict属于您要删除的父实体的所有子实体。
如果您已经加载了父项的子项,当您删除父项时,子项将从数据库中删除,而 Hibernate 不知道 entity state change .
为了解决这种情况,最好驱逐所有关联的子实体,以确保您不会不小心通过其他一些关联重新保留它们 transitive persistence .
关于java - Hibernate单向多对一和级联删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28141323/