2012-11-08 77 views
2

目前,我做了一些JPA的东西,但有一些问题,下面描述:JPA标准生成器

表结构 -

Id(Integer) , StatusType(String) , CreationTime(TimeStamp)

我想提取StatusTypeCount(StatusType) and CreationTime Select StatusType , Count(*) , Date(CreationTime) from Table Group By Date(CreationTime)

它投影 - [GROUP BY](Cast in Date instead of TimeStamp)

如果CREATIONTIME在时间戳分组则没有分组,因为时间戳

我有一个SQL查询,解决了我的目的的唯一性进行迄今为止的时间戳& group by CreationTime, 但我希望这与CriteriaBuilder API或至少在JPQL查询,以便它适用于al l数据库。有关它的任何想法?

在此先感谢。

回答

3

您可以通过投时间戳与“年月日”的形式,一个整数:

year(CreateTime) * 10000 + month(CreateTime) * 100 + day(CreateTime) 
3

是,timeStamp可以使用JPQL被铸造到Date

我认为this blog post将解决您的问题。

+0

感谢您的博客链接。但是,这是使用Hibernate api,这在JPA规范中没有提供使用Eclipse链接。我想用JPQL查询或遵循Sun的JPA规范标准的Criteria查询来做到这一点。任何有关这方面的帮助将非常感谢。 再次感谢您的帮助。 – qwerty