package com.aluracursos.screenmatch.repository;
import com.aluracursos.screenmatch.model.Categoria;
import com.aluracursos.screenmatch.model.Serie;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
import java.util.Optional;
public interface SerieRepository extends JpaRepository<Serie, Long> {
List<Serie> findByGenero(Categoria categoria);
List<Serie> findByGeneroIn(List<Categoria> categorias);
List<Serie> findByGeneroNot(Categoria categoria);
List<Serie> findByGeneroAndEvaluacionGreaterThanEqual(
Categoria categoria,
Double evaluacion
);
List<Serie> findByGeneroAndTotalTemporadasLessThanEqual(
Categoria categoria,
Integer totalTemporadas
);
long countByGenero(Categoria categoria);
boolean existsByGenero(Categoria categoria);
Optional<Serie> findFirstByGeneroOrderByEvaluacionDesc(Categoria categoria);
}
Categoria categoria = Categoria.fromEspanol("Acción");
List series = repository.findByGenero(categoria);
List seriesBienEvaluadas =
repository.findByGeneroAndEvaluacionGreaterThanEqual(categoria, 8.0);
Optional mejorSerie =
repository.findFirstByGeneroOrderByEvaluacionDesc(categoria);
long total = repository.countByGenero(categoria);