У меня есть класс ExamResult
, который имеет ссылку на своего родителя Exam
.
Я хочу фильтровать по логическому свойству в результате экзамена.
List<ExamResult> examResults = session
.createCriteria(ExamResult.class)
.createCriteria("exam") // 3.
.add( Restrictions.eq("primaryExam", Boolean.TRUE) ) // 4.
.list();
Я могу получить все строки без добавления строк 3 и 4. С этими дополнительными строками я получаю следующую ошибку:
org.hibernate.QueryException: not an association: exam
Я не уверен, правильно ли я поступлю. учебник гибернации мне неясен.
Отношения, которые я использовал, можно увидеть в этом уроке .
ExamResult имеет:
// bidirectional association! Needed to trick hibernate ;P
@Column(name="exam_id", nullable=false, updatable=false, insertable=false)
private Long exam;
Экзамен имеет
//----bidirectional association
@OneToMany(mappedBy="exam")
private final List<ExamResult> examResults = new ArrayList<ExamResult>();