0

我有两张表 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

请给我建议。

4

2 回答 2

3

HQL 查询使用实体及其关联。从不表和他们的列。它知道哪些表和列实体链接在一起,因此您无需在连接查询中重复它。要获取具有给定主题的所有课程,您只需要

select c from Course c
inner join c.subjects s
where s.id = :subjectId
于 2012-12-31T07:51:35.210 回答
0

检查这个

hqlQuery="select c.field1,c.field2,s.field1 from Course c 
         inner join c.course_subject as s";

但是你为什么需要这个?默认情况下,您可以通过以下映射来获取课程的主题

cource.getSubjects();
于 2012-12-31T07:20:24.730 回答