Anda menggunakan JPQL yang tidak mendukung pembatasan hasil seperti ini. Saat menggunakan JPQL asli, Anda harus menggunakan setMaxResults
untuk membatasi hasil.
Namun Anda menggunakan Spring Data JPA yang pada dasarnya membuatnya cukup mudah dilakukan. Lihat di sini dalam panduan referensi tentang cara membatasi hasil berdasarkan kueri. Dalam kasus Anda berikut ini, metode find akan melakukan apa yang Anda inginkan.
findFirstByOrderById();
Anda juga dapat menggunakan Pageable
argumen dengan kueri Anda alih-alih LIMIT
klausa.
@Query("SELECT s FROM Students s ORDER BY s.id DESC")
List<Students> getLastStudentDetails(Pageable pageable);
Kemudian dalam kode panggilan Anda lakukan sesuatu seperti ini (seperti yang dijelaskan di sini dalam panduan referensi).
getLastStudentDetails(PageRequest.of(0,1));
Keduanya harus memberikan hasil yang sama, tanpa perlu menggunakan SQL biasa.