Hibernate HQL是否支持别名子查询?

时间:2011-04-06 03:45:23

标签: java mysql sql hibernate hql

我正在使用Hibernate 3.2.6并且我正在尝试进行这样的查询:

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似乎没有包含查询的'as someAlias'部分。

这只是不受支持,还是我遗失了什么?或者这只是Hibernate版本不支持的功能?

1 个答案:

答案 0 :(得分:1)

将查询转换为本机sql并在db上触发它,它将无法工作。它不是一个有效的查询,因为select子句中的别名在where子句中不可见。

HQL支持别名。