JPA Criteria在选定日期添加一天

时间:2017-08-07 07:29:38

标签: java sql oracle jpa criteria

我有一个JPA标准,从表中选择最大日期,我想选择第二天,例如如果查询结果为1/20/17,我希望结果为1/21/17

这是我的代码:

    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 个答案:

答案 0 :(得分:1)

我假设您要将原始Date对象保留在数据库中?

我将从您的数据库中检索到的那一天添加1天:

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