我有兩張表Course,和Subject都有很多關係。如何在HQL中進行加入
第三張表是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都有很多關係。如何在HQL中進行加入
第三張表是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
。
請給我建議。
入住這
hqlQuery="select c.field1,c.field2,s.field1 from Course c
inner join c.course_subject as s";
但是爲什麼你需要這個?默認情況下,您可以通過映射獲得課程科目,如
cource.getSubjects();
其實我想通過使用主題過濾課程。 –
,你可以在主題類中使用映射。 'subject.getCourses();' – vels4j
當我將Course Class Mapping設置爲Subject Class時,它顯示如下錯誤: - >在對象圖中檢測到一個循環。這將導致無限深的XML:[email protected] - > [email protected] - > [email protected]這是什麼? –
HQL查詢使用實體及其關聯。從來沒有表和他們的專欄。它知道哪些表和列實體鏈接在一起,所以你不需要在連接查詢中重複它。要獲取具有給定科目的所有課程,你只需要
select c from Course c
inner join c.subjects s
where s.id = :subjectId
@但如何改善它? –
謝謝! Vels4j。 –