一个学生有多个老师,一个老师有多个学生。
现从学生这端出发。
student类里有个private Set<Teacher> teachers;和其它普通属性。
比如
学生A有老师1和老师2。
学生B有老师2和老师3。
学生C有老师1和老师2。
学生D有老师1和老师2和老师3。
学生E有老师1和老师2。
学生F有老师1和老师2和老师3和老师4。
学生A和学生C,学生E有相同的老师SET.
要根据学生A的ID来查找到学生C和学生E。
问题1:这条HQL语句该怎么写?
问题2:(加分)
学生D有老师1和老师2和老师3。
那学生ABCE也在(1,2,3)中。
根据学生D的ID来查出ABCE来的HQL语句有加分
现从学生这端出发。
student类里有个private Set<Teacher> teachers;和其它普通属性。
比如
学生A有老师1和老师2。
学生B有老师2和老师3。
学生C有老师1和老师2。
学生D有老师1和老师2和老师3。
学生E有老师1和老师2。
学生F有老师1和老师2和老师3和老师4。
学生A和学生C,学生E有相同的老师SET.
要根据学生A的ID来查找到学生C和学生E。
问题1:这条HQL语句该怎么写?
问题2:(加分)
学生D有老师1和老师2和老师3。
那学生ABCE也在(1,2,3)中。
根据学生D的ID来查出ABCE来的HQL语句有加分
select t.Student from Teacher t where t.teacherId in (select t.teacherId from Student s inner join fetch s.Teacher t where s.studentId = t.studentId)
这样子只是找出了A学生老师的学生如果要写完,感觉好长