4

我正在尝试构建一个可以从集合中留下连接值的 HQL,以便让我有机会在其上检查“为空”。

取自休眠手册中的示例:

来自猫为猫
    left join cat.kittens as kitten
        与 kitten.bodyWeight > 10.0

似乎在 NHibernate 中不起作用,因为它不识别“with”关键字。如果您不能直接在您的连接中而不是在您的 WHERE 语句中指定连接子句,您还应该如何离开连接并检查不匹配的条目?

我正在运行 NHibernate 2.0.0。

4

3 回答 3

2

不幸的是,NHibernate 不支持这一点。它于 2005 年首次被请求,是迄今为止最受欢迎的请求功能。

于 2008-11-06T18:13:35.677 回答
1

我认为您可以通过使用外部联接来解决它,然后执行以下操作:

from Cat c
left join c.Kittens as kitten
where kitten.bodyweight > 10 or kitten.bodyweight is null
于 2009-01-30T08:46:12.923 回答
1

显然他们正在努力...... https://nhibernate.jira.com/browse/NH-514

我昨天收到了来自 NHibernate JIRA 的更新报告,这个问题应该在 NHibernate v2.1.0 Alpha 3 中得到修复:)

于 2009-04-23T15:42:55.530 回答