我有两个表课程,而且主题都有多对多关系。
第三个表是 Course_Subject 。
我必须执行join
才能获取所有课程。
我试图加入表格,如:
hqlQuery="FROM Course c inner join fetch c.Course_Subject as s where c.id=s.courseId and s.subjectId=:subjectId";
但它显示NullpointerException
。
请建议我。
答案 0 :(得分:3)
HQL查询使用实体及其关联。从不表和他们的专栏。并且它知道哪些表和列实体链接在一起,因此您无需在连接查询中重复它。要获取具有给定主题的所有课程,您只需要
select c from Course c
inner join c.subjects s
where s.id = :subjectId
答案 1 :(得分:0)
检查
hqlQuery="select c.field1,c.field2,s.field1 from Course c
inner join c.course_subject as s";
但你为什么需要这个呢?默认情况下,您可以通过映射来获取课程的科目
cource.getSubjects();