JPA orphanRemoval对儿童的工作并不起作用。孤儿

时间:2017-01-26 16:27:55

标签: java jpa

我无法使用JPA删除子元素的孤儿(对不起,如果不清楚,请参阅下文)。

我的调查问卷包含问题列表,其中包含答案

列表 课程问卷:

public class Questionnaire {
   ...
   @OneToMany(mappedBy = "questionnaire", cascade = CascadeType.ALL, orphanRemoval = true)
   private Set<Question> questions = new HashSet<>();
}

班级问题:

public class Question {
   ...
   @OneToMany(mappedBy = "question", cascade = CascadeType.ALL, orphanRemoval = true)
   private Set<Answer> answers = new HashSet<>();

   @ManyToOne(fetch = FetchType.LAZY)
   @JoinColumn(name="questionnaire_id")
   private Questionnaire questionnaire;
}

班级答案:

public class Answer {
   ...
   @ManyToOne(fetch = FetchType.LAZY)
   @JoinColumn(name="question_id")
   private Question question;
}

我正在使用带有REST服务的AngularJs前端。

我只在调查表上进行JPA保存操作,我想要插入,更新或删除问题答案需要的。

感谢 CascadeType.ALL ,当我保存调查问卷时,所有问题答案都已正确插入,更新。

感谢 orphanRemoval = true ,当我使用已删除的问题保存调查问卷时,这些已删除的问题是正确地从数据库中删除。

但这不适用于已删除的答案:当我使用包含已删除答案的问题保存调查问卷 ,这些已删除的答案未从数据库中删除。

有什么想法可以帮助我吗? 谢谢:))

0 个答案:

没有答案