Привет, у меня возникла проблема с группой из-за пользовательской функции в Hibernate. Запрос выглядит следующим образом:
@Query("SELECT NEW ReportDay(" +
"FUNCTION('atTimezone', p.startDate, :timezone), "
"SUM(p.energy)) " +
"FROM Process p GROUP BY FUNCTION('atTimezone', p.startDate, :timezone)")
Выдается ошибка: p.startDate должен появляться в предложении groupBy или в статистической функции. Но пользовательская функция в предложении group by.
Есть идеи? Пользовательская функция выглядит так:
registerFunction("atTimezone", new SQLFunctionTemplate(StandardBasicTypes.TIMESTAMP,"date_trunc('day', (cast(?1 as timestamp) AT TIME ZONE cast(?2 as varchar)))"));
и пытается получить дату c в день в указанном c часовом поясе. большое спасибо!