Можно ли выполнить арифметику дат с помощью JPA/Hibernate? Например, у меня есть объект с полем java.util.Date, указывающим, когда была создана строка. Можно ли выполнить запрос с использованием JPQL и включить арифметику даты в это поле? Например, могу ли я выполнить COUNT(*) строк, а затем ГРУППИРОВАТЬ ПО месяцу в этом поле? Могу ли я выполнять другие функции, например возвращать только месяц или год из этого поля в запросе?
Арифметика дат JPA?
Ответы (1)
В HQL есть выражения даты, такие как second(...)
, minute(...)
, hour(...)
, day(...)
, month(...)
и year(...)
, но в стандартном JPQL таких функций нет.
person
Pascal Thivent
schedule
25.05.2010
Можно ли использовать HQL в сочетании с JPQL для получения нужных мне результатов? Будет ли HQL возвращать те же сущности, что и есть, или мне нужно добавить к ним дополнительные аннотации и т. д.?
- person Shadowman; 26.05.2010
@Shadowman: Да, и вам не нужны специальные аннотации для их использования. Просто ваш запрос не будет переносимым (нет гарантии, что другой провайдер будет поддерживать эти функции).
- person Pascal Thivent; 26.05.2010