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