【问题标题】:Hibernate unidirectional many-to-one and cascading deleteHibernate 单向多对一和级联删除
【发布时间】:2015-03-24 08:19:15
【问题描述】:

我是 Hibernate 的新手,我需要单向多对一删除级联。

显然,唯一的选择是,当父母知道它的孩子时。 但是如果我通过 SQL 手动执行呢?这个解决方案好吗?

alter table CHILDREN 
add constraint FK_i4jjy61om foreign key (PARENT)
references PARENT
on delete cascade;

【问题讨论】:

    标签: java sql hibernate jpa many-to-one


    【解决方案1】:

    您可以使用 SQL ON DELETE CASCADE,但您必须小心 evict 所有属于您即将删除的 Parent 的 Child 实体。

    如果您已经加载了 Parent 的 Child,当您删除 Parent 时,Chiber 将从数据库中删除,而 Hibernate 不知道 entity state change

    为了解决这种情况,最好驱逐所有关联的子实体,以确保您不会通过其他一些关联 transitive persistence 意外地重新保留它们。

    【讨论】:

      猜你喜欢
      • 2011-11-04
      • 2013-01-13
      • 2022-10-07
      • 2016-05-03
      • 1970-01-01
      • 2017-02-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多