2014-03-05 202 views
2

我試圖通過使用獲得天月和年的s.eventTime休眠未知列

DAY(s.eventTime) as theDay, MONTH(s.eventTime) as theMonth, YEAR(s.eventTime) as theYear 

再後來我用GROUP BY theYear, theMonth, theDay

這給我的錯誤:org.hibernate.exception.SQLGrammarException: Unknown column 'theYear' in 'group statement'

我有在SQL中使用過這種方法,並想知道它在HQL中是否無效?如果是這樣,有沒有人有建議?

回答

0

Expressionssecond(...), minute(...), hour(...), day(...), month(...), and year(...)只能where子句中使用。

如果您需要執行無法通過HQL生成的查詢,則可以始終在數據庫中創建視圖並將該視圖與Hibernate映射爲實體。它的工作方式與表格相同。

1

看來你不能施放day()month(),或year()as所以不是我做了我的選擇,如:

GROUP BY DAY(s.eventTime), MONTH(s.eventTime), YEAR(s.eventTime) 

DAY(s.eventTime), MONTH(s.eventTime), YEAR(s.eventTime) 

然後用分組的相同方式