Você está usando JPQL que não suporta resultados limitantes como este. Ao usar JPQL nativo, você deve usar
setMaxResults
limitar os resultados. No entanto, você está usando o Spring Data JPA, o que basicamente torna isso muito fácil de fazer. Veja aqui no guia de referência sobre como limitar os resultados com base em uma consulta. No seu caso, o método find faria exatamente o que você deseja.
findFirstByOrderById();
Você também pode usar um
Pageable
argumento com sua consulta em vez de um LIMIT
cláusula. @Query("SELECT s FROM Students s ORDER BY s.id DESC")
List<Students> getLastStudentDetails(Pageable pageable);
Em seguida, em seu código de chamada, faça algo assim (como explicado aqui no guia de referência).
getLastStudentDetails(PageRequest.of(0,1));
Ambos devem produzir o mesmo resultado, sem a necessidade de recorrer a SQL simples.