Группировка по результату пользовательской функции HIBERNATE - PullRequest
1 голос
/ 09 марта 2020

Привет, у меня возникла проблема с группой из-за пользовательской функции в 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 часовом поясе. большое спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...