Olá Reliquias,
Para listar os últimos 10 registros de um cadastro utilizando Spring Data JPA, você pode utilizar a anotação @Query
na sua interface de repositório e criar uma consulta personalizada que retorne apenas os 10 últimos registros. Por exemplo:
public interface AlunoRepository extends JpaRepository<Aluno, Long> {
@Query("SELECT a FROM Aluno a WHERE a.matricula = :matricula ORDER BY a.id DESC")
List<Aluno> findUltimos10Conceitos(@Param("matricula") String matricula, Pageable pageable);
}
Nesse exemplo, a consulta retorna os registros da entidade Aluno
que possuem a matrícula informada como parâmetro, ordenados pelo id em ordem decrescente (ou seja, os últimos registros primeiro) e limitados a 10 resultados.
Para utilizar essa consulta no seu endpoint, você pode injetar o AlunoRepository
na sua classe de serviço e chamar o método findUltimos10Conceitos
passando a matrícula e um objeto PageRequest
com a página e tamanho desejados. Por exemplo:
@RestController
public class AlunoController {
@Autowired
private AlunoRepository alunoRepository;
@GetMapping("/alunos/{matricula}/ultimos-conceitos")
public List<Aluno> getUltimos10Conceitos(@PathVariable String matricula) {
Pageable pageable = PageRequest.of(0, 10);
return alunoRepository.findUltimos10Conceitos(matricula, pageable);
}
}
Nesse exemplo, o endpoint /alunos/{matricula}/ultimos-conceitos
recebe a matrícula como parâmetro na URL e retorna os últimos 10 registros da entidade Aluno
que possuem essa matrícula.
Espero ter ajudado e bons estudos!