Du använder JPQL som inte stöder begränsning av resultat som detta. När du använder inbyggt JPQL bör du använda setMaxResults
för att begränsa resultaten.
Men du använder Spring Data JPA vilket i grunden gör det ganska enkelt att göra. Se här i referensguiden om hur man begränsar resultat baserat på en fråga. I ditt fall skulle följande, hitta metoden göra precis vad du vill.
findFirstByOrderById();
Du kan också använda en Pageable
argument med din fråga istället för en LIMIT
klausul.
@Query("SELECT s FROM Students s ORDER BY s.id DESC")
List<Students> getLastStudentDetails(Pageable pageable);
Gör sedan något så här i din anropskod (som förklarat här i referensguiden).
getLastStudentDetails(PageRequest.of(0,1));
Båda bör ge samma resultat, utan att behöva tillgripa vanlig SQL.