我正在使用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版本不支持的功能?
答案 0 :(得分:1)
将查询转换为本机sql并在db上触发它,它将无法工作。它不是一个有效的查询,因为select子句中的别名在where子句中不可见。
HQL支持别名。