相关疑难解决方法(0)

JPA OneToMany不删除孩子

@OneToMany在父实体和子实体之间进行简单映射时遇到问题.一切正常,只有当我从集合中删除它们时才会删除子记录.

父母:

@Entity
public class Parent {
    @Id
    @Column(name = "ID")
    private Long id;

    @OneToMany(cascade = {CascadeType.ALL}, mappedBy = "parent")
    private Set<Child> childs = new HashSet<Child>();

 ...
}
Run Code Online (Sandbox Code Playgroud)

孩子:

@Entity
public class Child {
    @Id
    @Column(name = "ID")
    private Long id;

    @ManyToOne(cascade = CascadeType.ALL)
    @JoinColumn(name="PARENTID", nullable = false)
    private Parent parent;

  ...
}
Run Code Online (Sandbox Code Playgroud)

如果我现在从子集Set中删除和子节点,它不会从数据库中删除.我试图使child.parent引用无效,但这也无效.

实体用于Web应用程序,删除是作为Ajax请求的一部分发生的.按下保存按钮时,我没有已删除子项的列表,因此我无法隐式删除它们.

java jpa jpa-1.0

148
推荐指数
5
解决办法
13万
查看次数

标签 统计

java ×1

jpa ×1

jpa-1.0 ×1