Index: lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/model/SurveyCondition.java =================================================================== diff -u -r2c5cff11b67aacf7cef0f89a33733702bdcda0cd -r6194b69208c1b7b5d398838fc0d72caa510d7b51 --- lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/model/SurveyCondition.java (.../SurveyCondition.java) (revision 2c5cff11b67aacf7cef0f89a33733702bdcda0cd) +++ lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/model/SurveyCondition.java (.../SurveyCondition.java) (revision 6194b69208c1b7b5d398838fc0d72caa510d7b51) @@ -27,6 +27,7 @@ import javax.persistence.CascadeType; import javax.persistence.Entity; +import javax.persistence.FetchType; import javax.persistence.JoinColumn; import javax.persistence.JoinTable; import javax.persistence.ManyToMany; @@ -55,7 +56,7 @@ * Questions linked to this condition. Answers to them will be scanned for the words that make the condition's * parameters. */ - @ManyToMany(cascade = CascadeType.ALL) + @ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER) @JoinTable(name = "tl_lasurv11_condition_questions", joinColumns = @JoinColumn(name = "condition_id"), inverseJoinColumns = @JoinColumn(name = "question_uid")) @SortComparator(QuestionsComparator.class) private Set questions = new TreeSet(new QuestionsComparator()); Index: lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/web/controller/AuthoringController.java =================================================================== diff -u -r8fb34ff788990c3ae25a0661090636b38bdecec2 -r6194b69208c1b7b5d398838fc0d72caa510d7b51 --- lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/web/controller/AuthoringController.java (.../AuthoringController.java) (revision 8fb34ff788990c3ae25a0661090636b38bdecec2) +++ lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/web/controller/AuthoringController.java (.../AuthoringController.java) (revision 6194b69208c1b7b5d398838fc0d72caa510d7b51) @@ -579,9 +579,11 @@ surveyPO.setConditions(conditions); //permanently remove conditions from DB + // don't want them to try to delete the related questions and there is a cacade all here to make sure the condition itself is deleted, so clear the question link iter = delConditions.iterator(); while (iter.hasNext()) { SurveyCondition condition = (SurveyCondition) iter.next(); + condition.getQuestions().clear(); iter.remove(); service.deleteCondition(condition); }