когда я использую? # {# pageable} в nativeQuery jpa весной, в журнале mysql появляется грязный код. В чем дело? - PullRequest
0 голосов
/ 22 января 2019
`@Query(value = "select * from jhi_user order by ?#{#pageable}",
    countQuery = "select count(*) from jhi_user",nativeQuery = true)
Page<User> findAllUsers(Pageable pageable);`

Это мой SQL. Я мог бы получить правильный ответ, но в журнале MySQL есть грязный код.

введите описание изображения здесь

Ответы [ 2 ]

0 голосов
/ 25 января 2019

Эта проблема решена. Я удаляю order by ?#{#pageable} и добавляю \n#pageable\n. Это действительно работает, и грязные коды исчезают.

0 голосов
/ 22 января 2019

Вы говорите, что это работает?Это было бы действительно удивительно для меня.То, что вы видите в журналах, является результатом toString из Pageable, который вы предоставляете.

Если я вас неправильно понял, а это на самом деле не работает:

Просто удалите order by ?#{#pageable} из вашего запроса.Spring Data JPA не выполняет привязку параметров в этой позиции, а разбиение на страницы выполняется за кулисами.

Была ошибка, связанная с этим, которая устранена в течение достаточно долгого времени, и для нее существовали обходные пути, которые выглядели аналогичнок тому, что у вас есть, но они больше не действительны.

Подробнее см. https://jira.spring.io/browse/DATAJPA-928.

Кроме того, Данные Spring и собственный запрос с нумерацией страниц , которыйв основном о том же вопросе.

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