Hibernate多对多查询

来举个例子说明 怎么查询多多的关系

Student类和 Teacher类,他们是双向多对多,既一个人可能有多个老师,

而一个老师也可以教多个人。Student中有Set<Teacher> teachers这样一个成员变量,而Teacher类里有Set<Student> students这样一个成员变量。

现在我们需要查询某一个老师下所有男学生

对于这样的查询用HQL语句可以这样写

Select distinct  student  From  Student student,Teacher teacher  

        Where teacher .id="xxxx" and  student  in elements (student.teachers) and student.sex="BOY"

Select distinct  student  From  Teacher teacher   inner join   teacher.students  student

        Where teacher .id="xxxx" and  student.sex="BOY"

 

 

 

 

 

你可能感兴趣的:(java,HQL,多对多查询)