2017-08-07 33 views
0

我有一個JPA標準,選擇表中的最大日期,我想選擇第二天,例如,如果查詢結果爲1/20/17我想要的結果是1/21/17JPA標準添加一天到所選日期

這裏是我的代碼:

CriteriaQuery<Date> maxDateCriteriaQuery = criteriaBuilder.createQuery(Date.class); 
    Root<DatesClass> datesClassRoot = maxDateCriteriaQuery.from(DatesClass.class); 
    maxDateCriteriaQuery.select(criteriaBuilder.greatest(datesClassRoot)); 
    TypedQuery<Date> maxDateTypedQuery = entityManager.createQuery(amortizationsQuery); 
    Date maxDate = maxDateTypedQuery.getSingleResult(); 

我想改變的標準來回報最大日期+ 1

在oracle中我會做到這一點:

SELECT MAX(MY_DATE) + 1 FROM DATES_TABLE; 

我將不勝感激任何幫助!

回答

1

我假設你想保留數據庫中的原始日期對象?

比我1天添加到您從數據庫中檢索到的一天:

Calendar c = Calendar.getInstance(); 
c.setTime(maxDate); 
c.add(Calendar.DATE, 1); 
Date newMaxDate = c.getTime(); 
+0

感謝@MathiasGhys但我寧願做它的JPA標準的一部分,因爲我原來的標準將返回日期列表例如爲每個人他的最大日期... –