gpt4 book ai didi

java - 未删除子对象

转载 作者:行者123 更新时间:2023-11-29 04:14:57 24 4
gpt4 key购买 nike

我在级联删除子对象时遇到问题。我使用 EclipseLink。当父表中的主键也是子表中的主键时一对一关系的映射。

 class Parent {
@Column(name = "PARENT_ID", unique = true, nullable = false)
private Long id;

@OneToOne(cascade = CascadeType.ALL, orphanRemoval = true, mappedBy = "parent")
private Child child;

}

class Child {
@Id
@JoinColumn(name = "PARENT_ID", unique = true)
private Parent childId;
}

当我尝试“DELETE FROM Parent parent WHERE parent.id in :parentIds”时,我得到了找到子对象的信息。你能给我一些建议吗?

最佳答案

此问题通常发生在 OneToOne 类型的映射中,由于从父到子的外键约束,因为子实体将指向不存在的实体。您必须首先通过查找实体及其映射、将引用设置为 null 来摆脱引用,然后您可以合并/保留/删除它。

这里问了一个类似的问题,请从这里寻求帮助: JPA orphan removal does not work for OneToOne relations

关于java - 未删除子对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53004339/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com