Estou tentando fazer um between de valor, mas não consigo trazer nada.
@Data
@EqualsAndHashCode(onlyExplicitlyIncluded = true)
@Entity
public class Restaurante {
@EqualsAndHashCode.Include
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(nullable = false)
private String nome;
@Column(name = "taxa_frete", nullable = false)
private BigDecimal taxaFrete;
@ManyToOne
@JoinColumn(name = "cozinha_id", nullable = false)
private Cozinha cozinha;
}
@Repository
public interface RestauranteRepository extends JpaRepository<Restaurante, Long> {
List<Restaurante> findByTaxaFreteBetween(BigDecimal taxaIncial, BigDecimal taxaFinal);
List<Restaurante> findByNomeContainingAndCozinhaId(String nome, Long cozinha);
}
Testando
package com.algaworks.algafood.api;
import java.math.BigDecimal;
import java.util.List;
import java.util.Optional;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.algaworks.algafood.domain.model.Restaurante;
import com.algaworks.algafood.domain.repository.RestauranteRepository;
@RestController
@RequestMapping("/teste")
public class TesteController {
@Autowired
private RestauranteRepository restauranteRepository;
@GetMapping("/restaurantes/por-taxa-frete")
public List<Restaurante> restaurantesPorTaxaFrete(BigDecimal taxaInicial,BigDecimal taxaFinal){
return restauranteRepository.findByTaxaFreteBetween(taxaInicial,taxaInicial);
}
@GetMapping("/restaurantes/por-nome")
public List<Restaurante> restaurantesPorTaxaFrete(String nome, Long id){
return restauranteRepository.findByNomeContainingAndCozinhaId(nome,id);
}
}
Quando faço minha requisição por exemplo, ele não traz nada. retorna só o status 200
http://localhost:8080/teste/restaurantes/por-taxa-frete?taxaInicial=8&taxaFinal=20
meu banco está preenchido com valor na coluna taxa_frete: 9.60 , 5.00 e 10.00. Eu não sei no que estou errando
Segue minha consulta gerada:
Hibernate: select restaurant0_.id as id1_5_, restaurant0_.cozinha_id as cozinha_4_5_, restaurant0_.nome as nome2_5_, restaurant0_.taxa_frete as taxa_fre3_5_ from restaurante restaurant0_ where restaurant0_.taxa_frete between ? and ?