1. Produtos com preço maior que um valor
List<Produto> findByPrecoGreaterThan(@Param("valor") BigDecimal valor);
List<Produto> findByPrecoGreaterThan(BigDecimal preco);
2. Produtos ordenados pelo preço crescente
List<Produto> findAllOrderByPrecoAsc();
List<Produto> findAllByOrderByPrecoAsc();
3. Produtos ordenados pelo preço decrescente
List<Produto> findAllOrderByPrecoDesc();
List<Produto> findAllByOrderByPrecoDesc();
4. Produtos que começam com uma letra específica
@Query("SELECT p FROM Produto p WHERE p.nome LIKE :letra%")
List<Produto> findByNomeStartingWith(@Param("letra") String letra);
List<Produto> findByNomeStartingWith(String prefixo);
5. Pedidos feitos entre duas datas
List<Pedido> findPedidosBetweenDates(
@Param("dataInicio") LocalDate dataInicio,
@Param("dataFim") LocalDate dataFim);
6. Média de preços dos produtos
Double media = produtoRepo.findAveragePreco();