有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

当JPA CRUD中不需要时,java抑制级联删除注释函数

我有两个实体父实体和子实体处于双向关系中,如下所示:

@Entity
public class Parent implements Serializable {

    @Id
    @GeneratedValue
    private long id;

    @OneToMany(mappedBy = "parent", cascade = CascadeType.REMOVE)
    private Set<Child> children;
}

@Entity
public class Child implements Serializable {

    @Id
    @GeneratedValue
    private long id;

    @ManyToOne
    @JoinColumn
    private Parent parent;  
}

通过注释,当我在数据库中删除父项时,与之相关的任何子项也将通过级联删除

然而,在有些情况下,父母没有子女;因此,不需要级联删除

我想根据是否需要级联来区分我的删除操作(例如,删除是简单删除还是需要级联的删除)。如果不显式调用Parent来检查子元素是否为null,JPA是否有办法在下面这样的命令中不需要时自动抑制级联注释

this.parentRepository.delete(parentID);

共 (0) 个答案