2012-02-07 77 views
1

我試圖建立一個jpql查詢,給出了在給定開始日期和結束日期的X分鐘間隔內的平均值。JPQL查詢平均每X分鐘

有沒有在jpql中這樣做的方法,或者我必須在Java中計算? 我不想寫一個原生的SQL查詢。

這是seudo-query來了解我想要完成的事情。

'timestmamp_x', avg(d.value) FROM Data d WHERE d.startDate > :startDate AND d.endDate < :startDate 'SOMETHING to group per x minutes'; 

回答

0

不,沒有辦法擁有這樣的分組JPQL,因爲它沒有支持構造。沒有辦法從日期中提取分鐘。此外,您不能使用日期和日期函數進行任何類型的算術計算,但函數僅限於CURRENT_DATE,CURRENT_TIMESTAMP和CURRENT_TIME。

+0

我通過創建一個名爲「NativeQueries」的接口爲Postgresql實現它並在我的dao中使用它來解決此問題。讓我的工作變得更輕鬆。如果數據庫更改,我只需要實現一個新的NativeQueries類。感謝你的回答 – heldt 2012-02-08 08:43:02