我编写了一个HQL查询,它创建了一个统计报告,每日计数。
select cast(time as date), count(*) from table
group by cast(time as date)
Eclipse Hibernate插件报告动态SQL预览,该预览在运行时正常运行。生成的查询如下所示:
select cast(time as date) as col_0_0_, count(*) as col_1_0_
from TABLE table0_ group by cast(time as date)
到目前为止一切都很好,但是当我运行HQL查询时,我回来的日期是错误的(它恰好偏移了两天)。这真的看起来像和in this question一样,但是修补程序并没有解决它。我使用的是最新的Microsoft SQL Server驱动程序,JDK 7和Hibernate 4.3.8。
有没有人遇到过这个问题?
这些是我的实际结果:
收到输出
Date | Count
--------------+---------
2015-03-01 | 1
2015-03-02 | 43
2015-03-03 | 29
预期输出
Date | Count
--------------+---------
2015-03-03 | 1
2015-03-04 | 43
2015-03-05 | 29
我还注意到,当我将日期转换为字符串时,它可以正常工作,所以
cast(cast(time as date) as text)
产生正确的结果。