2015-04-03 49 views
0

我在where子句中出现异常。我有以下HQL查询:HQL查询 - 在where子句中使用别名问题

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

我得到了以下错误消息:在where子句

如果我删除where子句查询有效 未知列“myowncolumn”。 有什么不对?

请问你能帮助我吗?

+0

请显示地址实体类。 – 2015-04-03 11:53:17

+0

这个类只有postalCode和城市和地址类型....它不是一个巨大的类...我没有像myowncolumn列。在现实世界中,我想在select语句中计算一些东西。但在此之前,我必须为别名名称解决此问题。另请注意,WHERE子句是将要验证的SQL查询中的第一步。之后,选择条款。但where子句找不到任何“myowncolumn” – internet 2015-04-03 13:03:49

回答

0

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

+0

比我得到“无法解决属性:我的列地址” – internet 2015-04-03 10:51:45

+0

此查询是好的,对我来说工作正常Hibernate 4.你可以发布完整的代码,你是如何调用它? – 2015-04-03 11:06:44

+0

编辑完成后,我的回答不再支持。我已经完全编辑它。 – 2015-04-03 13:22:00

0

您的实体“必须知道”(通过字段链接)关于myowncolumn。例如,如果地址具有参考城市和他们到国家,则此hql查询将是正确的:

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