Есть ли способ получить повторяющиеся первичные ключи в выводе и поддерживать разбиение на страницы в jpa spring data?

0

Вопрос

У меня есть схема с личностью-сущностью

person_id(ПК) фамилия имя пользователя Статус

Запрос Spring data jpa (текущий запрос, используемый iam):

Page<PersonEntity> personEntitiesPage = personRepo.findByLastNameStartsWithIgnoreCase(
                            searchStringForLastName,
                            PageRequest.of(myPagingRequest.getPageNo(),
                                    myPagingRequest.getPageSize(),
                                    Sort.by(ASC, lastName)));

Новое требование: Я получу список персонифицированных лиц Список персон =новый массив<>(); //Повторите идентификаторы персон из другого метода

мне нужно отсортировать по фамилии и разбиению на страницы, но идентификаторы персон должны повторяться

Мне нужно написать запрос для этого ?

есть ли способ, которым я могу напрямую написать этот запрос в spring data jpa или в обычном sql ?

Пример: Список персон с 23,90,90,102,102,102 //повторяемый список здесь

Мне нужен результат, как:

person_id(ПК) фамилия имя пользователя Статус
90 карлсон Кевин активный
90 карлсон Кевин активный
23 мэдиссон харли неактивный
102 россетта карла активный
102 россетта карла активный
102 россетта карла активный

Мне нужен повторяемый список, а также мне нужно поддерживать подкачку и сортировку для этого запроса , пожалуйста, попробуйте мне помочь. Спасибо

TechStack iam использует:java,весеннюю загрузку ,гибернацию ,jpa данных spring, базу данных postgres

1

Лучший ответ

0

Вы можете отсортировать это с помощью postgreSQL или jpql запросы.

Посмотри вниз:

Хранилище

@Query(nativeQuery=true, value="SELECT * FROM person WHERE last_name = ?1 ORDER BY person_id ASC;")
public Page<PersonEntity> findByLastNameStartsWithIgnoreCase(String last_name);

ServiceImpl

Page<PersonEntity> personEntitiesPage = personRepo.findByLastNameStartsWithIgnoreCase(String last_name);
2021-11-24 03:36:54

спасибо за ответ.но мне нужен повторяемый список в ответе, и приведенный выше запрос даст неповторяемый список. потому что PersonID уникален и является первичным ключом
tomsheldon

В SQL Server невозможно вставлять записи, имеющие повторяющиеся значения в Первичном ключе.
Fahimazaz Bhanej

да, верно, мне нужен ответ на запрос, а не в БД.в любом случае спасибо за ответ
tomsheldon

На других языках

Эта страница на других языках

Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................