2011-03-07 69 views
1

我得到HibernateQueryException,當我使用On子句與左外連接。ON子句與Hibernate查詢接口

任何人都可以建議我是什麼原因。

問候,

拉吉

+1

的原因是你犯了一個錯誤。請提供更多細節。 – SLaks 2011-03-07 13:22:57

+0

@Slaks:查詢在任何數據庫工具中都能正常執行,當我在休眠狀態下使用相同查詢時,查詢失敗 – rajputhch 2011-03-07 13:24:49

+0

哦,您有查詢;我們可以看到它嗎? – 2011-03-07 13:28:15

回答

5

HQL不支持... JOIN ... ON ...語法,可以JOIN只在實體之間(FROM Foo foo JOIN foo.bars bar)定義的關係。

如果您在任意條件下需要JOIN,則可以使用舊式表單FROM A a, B b WHERE a.x = b.y(儘管您無法以這種方式進行外連接)。否則必須使用原生SQL查詢。

參見:

+0

原生SQl查詢如何支持此操作? – rajputhch 2011-03-07 15:17:45

+1

好吧,從技術上說,使用hql 4.3,「on」實際上是支持的,但是以非標準的方式,你必須使用「with」 - http://www.bmchild.com/2012/05/hibernate-with-子句HQL-等效of.html – chrismarx 2015-06-08 20:24:58