2011-04-06 60 views
0

我使用Hibernate 3.2.6,我试图使像这样的查询:Hibernate HQL是否支持别名子查询?

select 
    a, 
    (select min(date) as someAlias from B b where a.id = b.id) 
from A a 
    where someAlias is not null and someAlias between :start and :end 

想象,这个查询有道理在我参与的运作环境。当我运行此查询。 ,我在'where子句'中收到一个错误,说“未知列'someAlias'”。当我显示SQL输出,我看到SQL似乎不包括查询的“为someAlias”的一部分。

这只是不支持的,还是我失去了一些东西?或者这只是Hibernate版本中不支持的功能?

回答

1

翻译查询到本地SQL和消防它分贝,也不会work.It不是有效的查询,因为在SELECT子句中的别名不会在where子句中可见。

别名在HQL支持。

+0

这是有道理的。我习惯于在join或from子句中进行子查询,在这里可以设置别名。当然,HQL不支持子查询那里,所以我又回到了起点1与此查询,但感谢你回答的问题。 – lakemalcom 2011-04-06 16:59:25