Я пытаюсь обновить записи, в которых разница между двумя датами равна определенному количеству дней с использованием 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?