Používáte JPQL, který nepodporuje omezování výsledků, jako je tento. Při použití nativního JPQL byste měli použít setMaxResults
omezit výsledky.
Nicméně používáte Spring Data JPA, což v zásadě usnadňuje práci. Viz zde v referenční příručce o tom, jak omezit výsledky na základě dotazu. Ve vašem případě by následující metoda hledání udělala přesně to, co chcete.
findFirstByOrderById();
Můžete také použít Pageable
argument s vaším dotazem namísto LIMIT
doložka.
@Query("SELECT s FROM Students s ORDER BY s.id DESC")
List<Students> getLastStudentDetails(Pageable pageable);
Pak ve svém volacím kódu udělejte něco takového (jak je vysvětleno zde v referenční příručce).
getLastStudentDetails(PageRequest.of(0,1));
Oba by měly přinést stejný výsledek, aniž byste se museli uchýlit k prostému SQL.