【发布时间】:2017-06-20 19:15:21
【问题描述】:
我正在使用带有 Hibernate 的 Spring Boot(最新版本 1.5.4)进行一个宠物项目,遇到了一个我自己无法解决的问题。
我正在尝试在帖子和评论之间创建 OneToMany 关系。
父类:
@NotNull
@OneToMany(cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.EAGER, mappedBy = "parentPost")
private Set<Comment> commentList;
儿童班:
@ManyToOne
@JoinColumn(name="parent_id")
@JsonBackReference
private Post parentPost;
由于某种原因,CascadeType.ALL 不会在 DELETE 上进行级联,也不会删除孤立的评论记录。但是,如果我将 CascadeType.ALL 更改为 CascadeType.REMOVE,一切都会正常工作,并且当父 Post 被删除时,这些记录也会被删除。
有谁知道我为什么会出现这种行为?这是我的代码中的错误还是错误?
【问题讨论】: