Как рассчитать разницу между двумя датами в днях в спящем режиме - PullRequest
0 голосов
/ 17 апреля 2019

Я пытаюсь обновить записи, в которых разница между двумя датами равна определенному количеству дней с использованием HQL.

Я использую этот код:

@Transactional
public void resetSendingAttempts(final Integer sendingAttemps, final Integer numberOfDaysToAttempt){
    getCurrentSession().createQuery("UPDATE Donnee dp set  dp.DP_NBR_TENTATIVE_ENVOI= 0, dp.DP_DATE_DERNIERE_TENTATIVE = Sysdate() where  dp.DP_NBR_TENTATIVE_ENVOI >= :sendingAttemps  and dp.DP_DATE_DERNIERE_TENTATIVE <= sysdate() - :numberOfDaysToAttempt").setParameter("sendingAttemps", sendingAttemps).setParameter("numberOfDaysToAttempt", numberOfDaysToAttempt).executeUpdate();
}

Поле DP_NBR_TENTATIVE_ENVOI объявлено как тип TIMESTAMP.Этот запрос HQL не работает, я искал в Интернете функции даты, такие как TimeStAMPDiff (), но HQL его не поддерживает.

Есть ли другой способ сделать это с помощью HQL?

...