spring data jpa 级联删除

现有两个实体类:

@Entity
@Table(name = "one")
public class One {

    @Id
    private Integer id;

}
@Entity
@Table(name = "many")
public class Many {

    @Id
    private Integer id;

    @ManyToOne
    private One one;
}

one 到 many 属于一对多的关系。如果是普通删除one,如果在many 中 有关联过one。则会出现外键关联异常。针对于这种场景,是否有最佳的实践方式,在删除one 前能够自动 删除many,请注意在one 中 并没有 many的引用,仅仅只是删除的时候需要做必要的清理。

阅读 2.7k
1 个回答

注解更新为@ManyToOne(cascade = {CascadeType.REMOVE})
image.png
CascadeType.REMOVE 级联删除操作, 虽然有这个功能,但实际过程中最好不要这样,一般就算用spring data JPA 表线上环境至少也是需要自己建的,你也可以加个删除字段,来做伪删除

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏