У меня есть таблица с полем времени типа datetime. Мне нужно агрегировать данные между определенным временем начала и конца в х-группы, представляющие временные интервалы равной длины, где х предоставляется как параметр функции.Hibernate group по времени
Что было бы лучшим способом сделать это с помощью Hibernate?
EDIT: некоторые пояснения
MySQL Таблица:
data_ts: datetime pk
value1 : int
value2 : bigint
...
Entity Класс:
Calendar dataTs;
Integer value1;
BigDecimal value2;
...
Я ищу запрос HQL, что делает что-то вроде
select max(c.value1), avg(c.value2) from MyClass c
where c.dataTs between :start and :end group by <interval>
где кто le период времени сгруппирован в x одинаковых временных интервалов.
Пример:
Start : 2008-10-01 00:00:00
End : 2008-10-03 00:00:00 (2 days)
Groups: 32
должны были бы быть сгруппированы по временным интервалом 1,5 часа (48 часов/32):
2008-10-01 00:00:00 - 2008-10-01 01:29:59
2008-10-01 01:30:00 - 2008-10-01 02:59:59
2008-10-01 02:00:00 - 2008-10-01 04:29:59
...