Как добавить день в дату в ejbql
Я пытаюсь достичь dateadd в моем EJB-запросе. Я пробовал что-то вроде этого, но это не работает:
select t.date + 1 from Table t
После того, как я попытался выполнить этот код, выходит следующее исключение:
org.hibernate.exception.SQLGrammarException: ERROR: operator does not exist: timestamp without time zone + integer Hint: No operator matches the given name and argument type(s). You might need to add explicit type casts. Position: 93
Я также попытался привести 1 к дате и интервалу, но результат запроса будет только нулевым. Мне просто интересно, действительно ли возможно добавить дни в данной дате в запросе EJB
1 ответ
Нет поддержки арифметики даты, а также нет возможности извлечь день из даты в EJBQL, а также нет в JPQL.
В зависимости от провайдера JPA (Hibernate, EclipseLink и т. Д.) Могут быть полезны специфичные для поставщика расширения и возможность вызывать функции базы данных. Например, с EclipseLink можно использовать FUNC.