Платформа nativeQuery с PageRequest - PullRequest
0 голосов
/ 24 марта 2020

Я пытаюсь передать companyid в собственный запрос в моем репозитории, который использует PageRequest, но мой запрос не принимает аргумент.

Возможно, я не могу использовать PageRequest и мне нужно использовать Pageable вместо этого (слишком зеленый, чтобы знать). Я оглянулся, но не могу найти, что я делаю неправильно.

Это мой код в репозитории:

@Query(value = "SELECT * FROM user WHERE deleted = '0' AND companyid = ?1",nativeQuery = true)
Page<User> findAllNotDeleted(PageRequest pageRequest, Long companyid);

, но вот результат, который я получаю:

Hibernate: SELECT * FROM user WHERE deleted = '0' AND companyid = ? order by id desc limit ?

Я немного потерян здесь. Любая помощь будет очень приветствоваться.

Спасибо

Робби

Ответы [ 2 ]

0 голосов
/ 25 марта 2020

Оказывается, PageRequest - дерьмовый вариант для использования. Я сделал тот же код с Pageable, и теперь он работает. Все еще не уверен, почему PageRequest ограничивает другие аргументы, получаемые в Query

0 голосов
/ 24 марта 2020

Для пользовательских запросов он не распознает его по умолчанию, поэтому необходимо упомянуть countQuery:

@Query(value = "SELECT * FROM user WHERE companyid = ?1",
countQuery = "select count(*) from user where companyid = ?1, 
nativeQuery = true)
Page<User> findAllNotDeleted(Long companyid,PageRequest pageRequest);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...