Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Como deletar um produto

Como deletar um produto que já existe no banco de dados na tabela produto. por que se eu instancia um produto e depois e chamar o remover ele vai remover essa instacia e se fosse uma que ja existe na tabela produto. como chamo esse produto e removo ele?

tentei algo assim porem ele fez o que explico em cima criou e apagou:

    Categoria celulares = new Categoria("CELULARES");
    Produto celular = new Produto("Xiaomi Redm","Celular Legal",new BigDecimal("800"),celulares);

    em.getTransaction().begin();
    produtoDao.remover(celular);
    em.getTransaction().commit();
    em.close();
2 respostas
solução!

Ou Bruno,

Se você acabou de instanciar um objeto, então ele não foi salvo no banco de dados e não faz sentido chamar o método remove.

Para remover uma entidade que está salva no banco de dados você precisa primeiro carregá-la do banco de dados:

Produto produto = em.find(Produto.class, 1L);

E então chamar o remove para removê-la:

Produto produto = em.find(Produto.class, 1L);

em.remove(produto);

Bons estudos!

Rodrigo deu certo, obrigado. Eu tinha visto o video e acabou passando despercebido como você tinha usado. Muito Obrigado!