У меня есть этот запрос, сгенерированный hibernate (напечатан на консоли), и он работает нормально, если непосредственно выполняется throwg pgAdmin4:
select
my_entity0_.status as col_0_0_,
calc_sub_status(
my_entity0_.status,
my_entity0_.sub_status
) as col_1_0_,
count(my_entity0_.id) as col_2_0_
from
demand my_entity0_
group by
my_entity0_.status ,
calc_sub_status(
my_entity0_.status,
my_entity0_.sub_status
)
Но в моем приложении (с использованием Spring Boot и Hibernate) я получил это исключение:
SQL Error: 0, SQLState: 42803
ERROR: column "my_entity0_.sub_status" must appear in the GROUP BY clause or be used in an aggregate function
Что можно сделать, если тот же запрос работает в pgAdmin, но не через jdb c?
PS: calc_sub_status
- это пользовательская функция, получает 2 строки и возвращает строку.
PS2: код критерия:
cq.multiselect(status, calcSubStatus, cb.count(root))
.groupBy(status, calcSubStatus);