sql >> Database teknologi >  >> RDS >> Mysql

Hvad er LIMIT-klausulalternativet i JPQL?

Du bruger JPQL, som ikke understøtter begrænsning af resultater som dette. Når du bruger native JPQL, skal du bruge setMaxResults for at begrænse resultaterne.

Men du bruger Spring Data JPA, hvilket grundlæggende gør det ret nemt at gøre. Se her i referencevejledningen til, hvordan man begrænser resultater baseret på en forespørgsel. I dit tilfælde ville den følgende, find metode gøre præcis, hvad du ønsker.

findFirstByOrderById();

Du kan også bruge en Pageable argument med din forespørgsel i stedet for en LIMIT klausul.

@Query("SELECT s FROM Students s ORDER BY s.id DESC")
List<Students> getLastStudentDetails(Pageable pageable);

Så gør noget som dette i din kaldekode (som forklaret her i referencevejledningen).

getLastStudentDetails(PageRequest.of(0,1));

Begge burde give det samme resultat uden at skulle ty til almindelig SQL.



  1. Implementering af en multi-datacenter-opsætning til PostgreSQL - del 1

  2. Sådan erstattes et regex-mønster i MySQL

  3. Er der en driver til mysql på nodejs, der understøtter lagrede procedurer?

  4. lower_case_table_names=1 på Ubuntu 18.04 lader ikke mysql starte