JPA / Hibernate - дочерний элемент удаляет родительский элемент (из той же таблицы) - PullRequest
0 голосов
/ 04 марта 2019

У меня есть класс Comment (см. Ниже) с некоторыми объектами Comment, принадлежащими родительскому комментарию.До сих пор, когда я удаляю родительский комментарий, дочерние элементы также удаляются (как и ожидалось), НО проблема возникает при удалении дочернего элемента, поскольку родительский элемент также удаляется.Я предполагаю, что проблема исходит от конфигурации 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>();
}

Приветствия

1 Ответ

0 голосов
/ 04 марта 2019

Удалить cascade={CascadeType.ALL} из сопоставления parent:

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>();
}
...