2017-08-07 11 views
0

テーブルから最大日付を選択するJPA基準があり、翌日を選択したいとします。クエリ結果が1/20/17ある場合、私は結果が1/21/17JPA基準で選択した日付に1日追加

になりたい。ここに私のコードです:

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(); 

は、私はOracleで最大日付+ 1

を返すように基準を変更したい私がしますする:

SELECT MAX(MY_DATE) + 1 FROM DATES_TABLE; 

私は助けていただきありがとうございます!

答えて

1

元のDateオブジェクトをデータベースに保持したいとしますか?

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

ありがとう@MathiasGhysが、私のオリジナルの基準は、例えば、日付のリストを返しますので、私はむしろ、JPA基準の一部としてそれを行う:私はあなたがあなたのDBから取得した日に1日を追加するであろうよりも

彼の最大の日付ごとに... –

関連する問題