Как добавить день в дату в 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.

Другие вопросы по тегам