JPA/Hibernate - 删除子项删除父项(来自同一个 table)

JPA/Hibernate - delete child removes parent (from same table)

我有一个 class 评论(见下文),其中一些评论对象属于父评论。 到目前为止,当我删除父注释时,子注释也被删除(如预期的那样),但是当删除子注释时问题就来了,因为父注释也被删除了。 我猜问题出在 class 中使用的 JPA 配置。 关于如何在不影响父行的情况下删除子行的任何想法?

 public class Comment {
   @Column  
   private String text;             

   @ManyToOne(cascade={CascadeType.ALL})
   private Comment parent;

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

干杯

parent 的映射中删除 cascade={CascadeType.ALL}:

public class Comment {
   @Column  
   private String text;             

   @ManyToOne
   private Comment parent;

   @OneToMany(cascade=CascadeType.ALL, mappedBy="parent") // or orphanRemoval=true
   private Set<Comment> childs = new HashSet<Comment>();
}