gpt4 book ai didi

java - JPA Hibernate 子级的级联类型

转载 作者:行者123 更新时间:2023-12-02 02:14:46 25 4
gpt4 key购买 nike

我正在寻找文档或答案,级联如何为 child 的 child 工作,例如:

public class Parent{
@OneToMany(fetch = FetchType.EAGER,mappedBy = "parent",cascade = CascadeType.ALL)
private List<Child> child;
}

public class Child{
@OneToMany(mappedBy="child")
private List<AnotherChild> anohterChild;
}
@ManyToOne
private Parent parent;
}

现在的问题是,父类中应用于“Child”的级联操作是否也适用于“AnotherChild”?换句话说,如果我保留“Parent”对象,它会保留“AnotherChild”吗?

最佳答案

如果你持久化你的父类,只有那些在你的父类的子列表中的子类会被持久化,而不是你的子类中的 AnotherChilds 列表。

如果您也想保留它们,也只需级联即可:

public class Child{
@OneToMany(mappedBy="child", cascade = CascadeType.PERSIST)
private List<AnotherChild> anohterChild;

@ManyToOne
private Parent parent;
}

当你真正需要时,只需使用CascadeType.ALL,因为这种级联类型不仅仅包括持久性。如下图所示,CascadeType.ALL 包括所有其他级联类型,包括级联类型“删除”,这意味着当您的父对象被删除时,所有其他子对象都会被删除。也被删除。

enter image description here

关于java - JPA Hibernate 子级的级联类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49468371/

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