2008-11-06 86 views
4

我試圖建立一個HQL,可以從一個集合中連接值,以便給我檢查「null」的機會。NHibernate HQL不支持「with」關鍵字嗎?

從例如取自休眠手冊:

 
from Cat as cat 
    left join cat.kittens as kitten 
     with kitten.bodyWeight > 10.0 

似乎並不在NHibernate的工作,因爲它不承認「與」關鍵字。如果你不能直接在你的連接中指定連接子句而不是在你的WHERE語句中,你還應該如何離開連接並檢查沒有匹配的條目?

我正在運行NHibernate 2.0.0。

+0

他們似乎已經在NH 2.1中實現了它,但有一些怪癖。 – jishi 2009-08-31 09:03:15

回答

2

不幸的是,這在NHibernate中不受支持。這是first requested in 2005,是迄今爲止最受歡迎的請求功能。

+0

您有沒有對解決方法有任何建議,或者是否可以通過某種方式使用Criteria來實現? – jishi 2008-11-06 19:52:10

1

我想你可以通過使用外連接解決辦法,然後做到這一點:

from Cat c 
left join c.Kittens as kitten 
where kitten.bodyweight > 10 or kitten.bodyweight is null