HQL查询 - 使用别名在where子句中发出问题

时间:2015-04-03 10:46:16

标签: mysql hibernate hql

我的where子句中有一个异常。我有以下HQL查询:

SELECT  a.addressType as  myowncolumn
FROM Address a
WHERE myowncolumn = 1

我收到以下错误消息: where子句中的未知列“myowncolumn”

如果删除where子句,则查询有效。 怎么了?

请帮助我。

2 个答案:

答案 0 :(得分:0)

即使在纯SQL中,这也不起作用,并且您在评论中正确地认为SQL是从内到外/从右到左验证的。这就是为什么myowncolumn无法识别的原因。

答案 1 :(得分:0)

您的实体"必须知道" (有关于字段的链接)关于myowncolumn。例如,如果Address引用City并将它们引用到Country,则此hql查询将是正确的:

select adr from Address a where a.city.country.name='UK';