Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Não realiza o filtro pela data, traz todos os livros cadastrados

//ProdutoDAO
public List<Produto> findComData(String dataLancamento) throws ParseException {

        CriteriaBuilder builder = manager.getCriteriaBuilder();
        CriteriaQuery<Produto> criteriaQuery = builder.createQuery(Produto.class);

        Root<Produto> root = criteriaQuery.from(Produto.class);

        List<Predicate> predicates = new ArrayList<>();

        if(dataLancamento != null) {

            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
            Date date = format.parse(dataLancamento);
            Calendar cal = Calendar.getInstance();
            cal.setTime(date);

            Predicate predicate = builder.equal(builder.function("date", String.class, root.get("dataLancamento")), dataLancamento);
            predicates.add(predicate);

            criteriaQuery.where((Predicate[]) predicates.toArray(new Predicate[0]));
            TypedQuery<Produto> typedQuery = manager.createQuery(criteriaQuery);
            return typedQuery.getResultList();
        } else {
            return manager.createQuery("select p from Produto p", Produto.class).getResultList();
        }
    }

//RelatorioProdutosController
@Controller
@RequestMapping("/relatorio-produtos")
public class RelatorioProdutosController {

    @Autowired
    ProdutoDAO produtoDao;

    @RequestMapping(method = RequestMethod.GET, produces = "application/json")
    @ResponseBody
    public List<Produto> relatorioJson(@RequestParam(value= "dataLancamento", required = false) String dataLancamento) throws ParseException {

        return produtoDao.findComData(dataLancamento);
        }
}

No caso cadastrei 2 livros e mesmo inserindo  a data como parametro, me retorna os 2: 

[{"id":1,"titulo":"Programando com Java ","descricao":"Adicionando 1º livro ","paginas":100,"dataLancamento":1597892400000,"sumarioPath":"arquivos-sumario/astm.jpg","precos":[{"valor":100.00,"tipo":"EBOOK"},{"valor":200.00,"tipo":"IMPRESSO"},{"valor":300.00,"tipo":"COMBO"}]},{"id":2,"titulo":"Programando com Java 2","descricao":"Adicinando mais um...","paginas":100,"dataLancamento":627271200000,"sumarioPath":"arquivos-sumario/banner.jpg","precos":[{"valor":50.00,"tipo":"EBOOK"},{"valor":60.00,"tipo":"IMPRESSO"},{"valor":70.00,"tipo":"COMBO"}]}]

Alguém poderia me ajudar?
1 resposta
solução!

Consegui resolver...

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software