J'ai une classe ExamResult
qui a un lien vers son parent Exam
.Hibernate - filtrage par propriété associée
Je souhaite filtrer par une propriété booléenne sur le résultat de l'examen.
List<ExamResult> examResults = session
.createCriteria(ExamResult.class)
.createCriteria("exam") // 3.
.add(Restrictions.eq("primaryExam", Boolean.TRUE)) // 4.
.list();
Je peux récupérer toutes les lignes correctement sans ajouter les lignes 3 et 4. Avec ces lignes supplémentaires, je reçois l'erreur suivante:
org.hibernate.QueryException: not an association: exam
Je ne suis pas sûr si je vais sur ce la bonne façon. Le hibernate tutorial n'est pas clair pour moi.
La relation que j'ai utilisée peut être vue dans this tutorial.
ExamResult a:
// bidirectional association! Needed to trick hibernate ;P
@Column(name="exam_id", nullable=false, updatable=false, insertable=false)
private Long exam;
examen a
//----bidirectional association
@OneToMany(mappedBy="exam")
private final List<ExamResult> examResults = new ArrayList<ExamResult>();
Même si vous utilisez le didacticiel, pourriez-vous montrer votre mapping actuel pour que tout le monde puisse le voir? :) Merci! –
@ Arthur Thomas - J'ai mis à jour avec les associations pertinentes. – Pool