Requête HQL sur l'Ensemble de la Propriété

Supposons que j'ai le texte suivant HBM cartographie:

<class name="Student" table="student">
    <set name="classes" table="student_classes" cascade="none">
        <key column="studentId" />
        <many-to-many column="classId" class="org.myCompany.myClass" />
    </set>
</class>

Dans mes études POJO, j'ai le texte suivant:

private Set<myClass> classes = new HashSet<myClass>();
public Set<myClass> getClasses() { return classes; }
public void setClasses(Set<myClass> classes) { this.classes = classes; }

Je veux exécuter la requête HQL suivante:

select count(*) from Student where classes.className = :myClassName

Cependant, hibernate jette l'exception suivante:

ERROR [service-j2ee-4] PARSER.reportError(33) |  Invalid path: 'classes.className'
ERROR [service-j2ee-4] PARSER.reportError(33) | <AST>:0:0: unexpected end of subtree
ERROR [service-j2ee-4] PARSER.reportError(33) |  left-hand operand of a binary operator was null
org.hibernate.hql.ast.QuerySyntaxException: Invalid path: 'classes.className' [select count(*) from Student where classes.className = :myClassName  and  1=1]

Est-il possible d'exécuter une requête hql qui retourne des résultats basés sur les propriétés d'un Ensemble? Dans l'exemple ci-dessus, on peut vouloir à la requête pour tous les étudiants qui prennent "l'Algèbre I" ou d'un autre cours?

Edit: j'ai activé le approprié le mode de débogage pour obtenir d'Hibernation pour la sortie réelle de la requête SQL et voici la requête qu'il génère:

select count(*) as col_0_0_ 
from student student0_, student_classes student1_, classes student2_

where student0_.studentId=student1_.studentId and student1_.classId=student2_.classId and student2_.className LIKE 'algebra' and 1=1;

OriginalL'auteur David | 2011-05-03