2012-02-07 2 views
1

Я пытаюсь построить запрос jpql, который дает мне среднее значение в интервале X минут, когда дается дата начала и дата окончания.JPQL Средний размер запроса за X минут

Есть ли способ сделать это в jpql или мне нужно рассчитать это на Java? Я не хочу писать собственный SQL-запрос.

Это seudo-запрос, чтобы понять, чего я пытаюсь выполнить.

'timestmamp_x', avg(d.value) FROM Data d WHERE d.startDate > :startDate AND d.endDate < :startDate 'SOMETHING to group per x minutes'; 

ответ

0

Нет, нет никакого способа, чтобы иметь такую ​​группировку JPQL, потому что он не имеет опорные построить. Нет способа извлечь минуты с даты. Кроме того, вы не можете выполнять какие-либо арифметические вычисления, когда функции даты и даты ограничены CURRENT_DATE, CURRENT_TIMESTAMP и CURRENT_TIME.

+0

Я решил это, создав интерфейс под названием «NativeQueries», который реализовал его для Postgresql и использует его в моем dao. Сделал мою работу намного проще. Если база данных изменена, мне нужно только реализовать новый класс NativeQueries. Спасибо за ответ – heldt

Смежные вопросы