目前,我正在做一些JPA的东西,但有一些问题,如下所述:
表格结构 -
Id(Integer) , StatusType(String) , CreationTime(TimeStamp)
我想提取 StatusType , Count(StatusType)和 CreationTime [GROUP BY] (Cast in Date instead of TimeStamp)
如果CreationTime在TimeStamp中分组,则由于时间戳的唯一性而没有进行分组
我有一个SQL查询可以解决我的目的 - Select StatusType , Count(*) , Date(CreationTime) from Table Group By Date(CreationTime)
它将时间戳转换为日期& CreationTime组, 但我希望这与 CriteriaBuilder API或至少在 JPQL查询中一起使用,以便适用于所有数据库。有什么想法吗?
提前致谢。
答案 0 :(得分:3)
您可以使用以下命令将时间戳转换为具有“yyyyMMdd”格式的整数:
year(CreateTime) * 10000 + month(CreateTime) * 100 + day(CreateTime)
答案 1 :(得分:3)
是的,timeStamp
可以使用JPQL投放到Date
。
我认为this blog post会解决您的问题。