2015-04-03 72 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';