#java #spring-boot #spring-data-jpa
Вопрос:
У меня есть следующий запрос JPQL, сопоставляемый с пользовательской проекцией. Запрос работает правильно, пока я не установлю атрибут размера в объекте разбиения на страницы.
@Query(value = "SELECT EXTRACT(WEEK FROM e.time) AS week "
"COUNT(r.id) AS total FROM MyEntity e "
"LEFT JOIN e.relationship r GROUP BY week")
Page<WeeklyReport> findWeeklyReport(Pageable pageable);
Переход в спящий режим завершается ошибкой java.sql.SQLSyntaxErrorException: Unknown column 'week' in 'group statement'
после выполнения следующего запроса:
select count(entity0_.id) as col_0_0_ from entity entity0_
left outer join relationship relationship1_ on entity0_.id=relationship1_.tide_id
group by week
Как я могу получить тот же запрос без имени моей группы, нарушив приведенную выше разбивку на страницы?
Ошибка не возникает, если размер не определен.
Комментарии:
1. baeldung.com/spring-data-jpa-pagination-sorting — работает ли «ГРУППА ПО 1»?
2. «ГРУППА ПО 1» заставляет мой запрос возвращать только 1 элемент независимо от фильтров.
3. вы запустили его непосредственно в mysql?
4. Моя ошибка, у меня там был еще один атрибут. Он все еще не работает, потому что он снова добавляет группы в этот запрос. Теперь это терпит неудачу с
Can't group on 'col_0_0_'
.