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

Erro Could not invoke method remove

Estou recebendo a seguinte Exception:

javax.servlet.ServletException: net.vidageek.mirror.exception.ReflectionProviderException: Could not invoke method remove
    br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:120)

E pelo que olhei está ocorrendo um erro quando faço:

em.getTransaction().begin();

No método remove() do ProdutoDao.

package br.com.caelum.vraptor.dao;

import java.util.List;

import javax.persistence.EntityManager;

import br.com.caelum.vraptor.model.Produto;
import javax.inject.Inject;

public class ProdutoDao {

    private final EntityManager em;

    @Inject
    public ProdutoDao(EntityManager em) {
        this.em = em;
    }

    public ProdutoDao() {
        this(null);
    }

    public void adiciona(Produto produto) {
        em.getTransaction().begin();
        em.persist(produto);
        em.getTransaction().commit();
    }

    public void remove(Produto produto) {
        em.getTransaction().begin();
        em.remove(busca(produto));
        em.getTransaction().commit();
    }

    public Produto busca(Produto produto) {
        return em.find(Produto.class, produto.getId());
    }

    @SuppressWarnings("unchecked")
    public List<Produto> lista() {
        return em.createQuery("select p from Produto p").getResultList();
    }
}

Eu criei um EntityMangerProducer como ensinado no curso, no pacote br.com.caelum.vraptor.producers, mas parece que ele não está funcionando.

public class EntityManagerProducer {

    @Produces
    @RequestScoped
    public EntityManager criaEntityManager() {
        return JPAUtil.criaEntityManager();
    }

}

Alguém Help me pls

1 resposta
solução!

Opa Luiz, tudo certo? Só com essa parte da exception a gente não consegue deduzir o erro... pode colocar o erro completo aqui?

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