2013-02-26 51 views
0

我正在尋找一種方法,使用Java Peristence Query列出所有10天內的項目(例如,我的案例將是閾值的參數)。如何在Java持久性查詢中減少日期?

我的查詢

SELECT DISTINCT item 
FROM Item item 
INNER JOIN item.flags flag 
WHERE flag.tspDate ............ :intDaysThreshold 

我希望能夠做類似於我們可以在PostgreSQL中使用間隔做一些事情。

非常感謝您的幫助

回答

2

不能在JPQL查詢完成,因爲它不支持任何形式的日期運算。後備選項有:

  1. 原生SQL查詢
  2. 使用擴展可能提供的實現(例如FUNC中的EclipseLink)
  3. 查詢更大的數據集,並執行計算在Java中
  4. 經常(如果條件是相對的到當前日期),可以以這種形式構造查詢,該參數可以在Java端進行計算(例如過去10天的日期)。