【问题标题】:Doesn't NHibernate HQL support "with" keyword?NHibernate HQL 不支持“with”关键字吗?
【发布时间】:2010-09-21 03:17:47
【问题描述】:

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

取自hibernate手册中的示例:

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

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

我正在运行 NHibernate 2.0.0。

【问题讨论】:

  • 他们似乎已经在 NH 2.1 中实现了它,但是有一些怪癖。

标签: .net nhibernate hql


【解决方案1】:

很遗憾,NHibernate 不支持此功能。它是 first requested in 2005,是迄今为止最受欢迎的请求功能。

【讨论】:

  • 您对解决方法没有任何建议,或者是否可以通过某种方式使用标准来实现?
  • 不久前我也投票支持该建议......希望从前,他们实施它
【解决方案2】:

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

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

【讨论】:

    【解决方案3】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-06
      • 2019-07-08
      • 2017-07-04
      • 1970-01-01
      • 1970-01-01
      • 2010-10-07
      相关资源
      最近更新 更多