我有两张表 Course 和 Subject 都是多对多的关系。
第三个表是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
。
请给我建议。
我有两张表 Course 和 Subject 都是多对多的关系。
第三个表是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
。
请给我建议。
HQL 查询使用实体及其关联。从不表和他们的列。它知道哪些表和列实体链接在一起,因此您无需在连接查询中重复它。要获取具有给定主题的所有课程,您只需要
select c from Course c
inner join c.subjects s
where s.id = :subjectId
检查这个
hqlQuery="select c.field1,c.field2,s.field1 from Course c
inner join c.course_subject as s";
但是你为什么需要这个?默认情况下,您可以通过以下映射来获取课程的主题
cource.getSubjects();