Çıktıda tekrarlanabilir birincil anahtarlar elde etmenin ve spring data jpa'da sayfalandırmayı sürdürmenin bir yolu var mı?

0

Soru

Ben kişi Varlık ile şema var

person_ıd (PK) Soyadı isim durum

Spring data jpa sorgusu (ıam kullanarak mevcut sorgu):

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

Yeni Gereksinim: Personıd'lerin bir listesini alacağım List personList = yeni ArrayList<> (); / / personıd'leri başka bir yöntemden tekrarla

soyadı ve ilerlemek sıralamak istiyorum ama personİds tekrarlanabilir olmalıdır

Bunun için bir sorgu yazmam mı gerekiyor ?

bu sorguyu doğrudan spring data jpa'da veya düz sql'de de yazabilmemin bir yolu var mı ?

Örnek: 23,90,90,102,102,102 ile kişi listesi / / tekrarlanabilir liste burada

Sonuca ihtiyacım var:

person_ıd (PK) Soyadı isim durum
90 carlson kevin etkin
90 carlson kevin etkin
23 madisson harley etkisiz
102 rossetta. KGM karla etkin
102 rossetta. KGM karla etkin
102 rossetta. KGM karla etkin

Bu sorgu için sayfalama ve sıralamayı sürdürmem gerektiğinin yanı sıra tekrarlanabilir listeye de ihtiyacım var lütfen bana yardım etmeye çalış. teşekkür ederim

TechStack ıam kullanımı: java, spring boot, hazırda bekletme, spring data jpa, postgres db

1

En iyi cevabı

0

Bunu kullanarak sıralayabilirsiniz postgreSQL veya jpql sorgular.

Aşağıya bak:

Depo

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

serviceımplname

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

teşekkür ederim cevap için.ancak yanıt olarak tekrarlanabilir listeye ihtiyacım var ve yukarıdaki sorgu tekrarlanabilir olmayan bir liste verecektir. çünkü personId benzersiz ve birincil anahtardır
tomsheldon

SQL Server'da Birincil Anahtarda yinelenen değerlere sahip kayıtları eklemek mümkün değildir.
Fahimazaz Bhanej

evet, db'de değil sorgu yanıtına ihtiyacım var.her neyse cevap için teşekkür ederim
tomsheldon

Diğer dillerde

Bu sayfa diğer dillerde

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................