2012-11-08 134 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