【问题标题】:Deleting Child from Parent, using Named query使用命名查询从父级中删除子级
【发布时间】:2015-12-16 07:45:40
【问题描述】:

我对 JPA 有点陌生,我的问题是,如果我在两个实体之间有以下父子关系。使用此设置(如下所示),是否可以仅使用命名查询(“从 parent.id:id 的子项中删除)删除子项,然后不从父子项集合中删除?我已经测试了这种方法只是使用命名查询而不是从父集合中删除子集合,它工作得很好,但我试图看看当我以这种方式删除它们时是否有任何重大影响。我不将它们删除到集合对象的原因是, Children 设置为 NOT nullable field parent id。非常感谢,期待您的回答:)

public class Parent {

    ID.....

    parentName...

    @OneToMany(mappedBy = "parent", cascade = CascadeType.ALL,
        fetch = FetchType.EAGER, orphanRemoval = true)
    private List<Child> children;
}

public class Child {

    id;

    @ManyToOne(optional = false)
    @JoinColumns({
        @JoinColumn(name = "PARENT_ID", referencedColumnName = "ID", nullable = false)
    })
    private Parent parent;
}

【问题讨论】:

    标签: java jpa jpql


    【解决方案1】:

    看起来删除这样的对象是完全可以的。 orphanRemoval 为您管理其余部分。

    【讨论】:

    • 谢谢你 asm0dey,你真棒 :)
    猜你喜欢
    • 1970-01-01
    • 2021-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多