Como eu poderia fazer o mesmo que essa derived query faz usando JPQL?
Como eu poderia fazer o mesmo que essa derived query faz usando JPQL?
Olá Constanze! Tudo bem com você?
Para replicar a funcionalidade de uma derived query usando JPQL, você pode escrever uma consulta JPQL que alcance o mesmo resultado. No seu caso, a derived query findTop5ByOrderByEpisodiosDataLancamentoDesc()
está buscando os cinco episódios mais recentes, ordenados pela data de lançamento em ordem decrescente.
Para fazer isso com JPQL, você pode criar uma query similar a esta:
@Query("SELECT s FROM Serie s JOIN s.episodios e ORDER BY e.dataLancamento DESC")
List<Serie> findTop5ByOrderByEpisodiosDataLancamentoDescJPQL(Pageable pageable);
Note que estamos usando JOIN
para acessar a lista de episódios dentro da entidade Serie
, e ordenando pela dataLancamento
dos episódios. Para limitar o resultado aos cinco primeiros, você pode usar o Pageable
como argumento do método e passar um objeto PageRequest
ao chamar o método, como mostrado abaixo:
Pageable pageable = PageRequest.of(0, 5);
List<Serie> series = serieRepository.findTop5ByOrderByEpisodiosDataLancamentoDescJPQL(pageable);
Espero ter ajudado e bons estudos!