我有 4 个实体:
User, Teacher, Student,Course
和4张桌子:
t_user、t_teacher_course、t_student_course、t_course
Teacher并Student扩展User(带有描述符)并@ManyToMany与Course(User不具有)
Teacher存储在中的关系t_teacher_course和Student存储在中的关系有关系t_student_course。
现在我想在一个查询中选择所有有课程的用户(如果他们存在)
select u from User u left join fetch u.courses c(注意用户没有课程)这个选择生成了这样的东西:
select
...
from
T_USER user0_
left outer join
T_TEACHER_COURSE course1_
on user0_.USERID_=courses1_.TEACHER_
left outer join
T_COURSE course2_
on courses1_.LANE_=course2_.COURSENAME_
where
user0_.GROUP_=?
如您所见,Hibernate 没有加入t_student_course表
我正在使用休眠 4.1Final
问题:Hibernate 是否支持这样的查询
a)如果支持,那么为什么它没有为Student实体获取课程?
b) 如果不支持,我该如何选择所有使用 JPQL 的课程的用户?