4
respostas

Busca por nome não retornando a impressão no console

Opa ! Beleza !?

Copiei o código da aula e , no meu caso aqui, não tá saindo nada na impressão no console.... segue o código: .... public List buscaPorNome(String nome) {

    String jpql;
    jpql = "SELECT p FROM Produto p WHERE p.nome = :nome";
    return em.createQuery(jpql, Produto.class).setParameter("nome", nome).getResultList();

}
...
no método main: 
...
public class ConsultaProduto {

public static void main(String[] args) {

    AdicionaProduto();
    Long id = 1l;
    EntityManager em = JPAUtil.getEntityManager();
    ProdutoDao produtoDao = new ProdutoDao(em);

    Produto buscaProduto = produtoDao.buscarPorId(1l);  

    System.out.println(buscaProduto.getPreco());  ---> aqui está funcionando perfeito. 

    //List<Produto> todos = produtoDao.buscarTodos();
    List<Produto> busca = produtoDao.buscaPorNome("xiaomi redmi");
    busca.forEach(p2 -> System.out.println(p2.getNome())); <----não retorna nada na impressão...
4 respostas

debugando o código , vi que a Lista está voltando vazia...alguém passou por isso ?

Olá Vanderson, bom dia.

No seu banco de dados existe o registro exatamente assim "xiaomi redmi" ? sugiro verificar o camelCase (Xiaomi Redmi)

Oi Vanderson,

Voce esta utilizando o banco de dados h2?

Bom dia. Olá Rodrigo. Sim, estou sim.

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