0

I have two tables Course, and Subject both are in many to many relationship.

The Third table is Course_Subject.

I have to perform join to fetch all Courses.

I tried to join the Tables like:

hqlQuery="FROM Course c inner join fetch  c.Course_Subject as  s where c.id=s.courseId and s.subjectId=:subjectId";

but it is showing NullpointerException.

Please suggest me.

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 に答える