Pessoal eu criei um jTable e ao clicar duas vezes em uma das linhas
o item deve ser excluido, porem quando chega no meu DAO para
executar o delete esta retornando o erro abaixo:
Exception in thread “AWT-EventQueue-0” java.lang.IllegalArgumentException: Removing a detached instance br.com.jcomputacao.contaspagar.LeituraDados#1
at org.hibernate.ejb.event.EJB3DeleteEventListener.performDetachedEntityDeletionCheck(EJB3DeleteEventListener.java:45)
at org.hibernate.event.def.DefaultDeleteEventListener.onDelete(DefaultDeleteEventListener.java:86)
at org.hibernate.event.def.DefaultDeleteEventListener.onDelete(DefaultDeleteEventListener.java:52)
at org.hibernate.impl.SessionImpl.fireDelete(SessionImpl.java:766)
at org.hibernate.impl.SessionImpl.delete(SessionImpl.java:744)
at org.hibernate.ejb.AbstractEntityManagerImpl.remove(AbstractEntityManagerImpl.java:253)
se alguem puder me ajudar a resolver esse problema
meu DAO esta da seguinte forma
public class Dao {
private static EntityManagerFactory emf = null;
static {
emf = Persistence.createEntityManagerFactory("ContasPagarPU");
}
@SuppressWarnings("unchecked")
public static LeituraDados load(Long id) {
return emf.createEntityManager().find(LeituraDados.class, id);
}
public static String save(LeituraDados t) {
EntityManager em = emf.createEntityManager();
EntityTransaction trans = em.getTransaction();
trans.begin();
if (t.getId() == null || t.getId().intValue() == 0) {
em.persist(t);
} else {
t = em.merge(t);
}
trans.commit();
em.close();
return "salvo";
}
public static String delete(LeituraDados t) {
EntityManager em = emf.createEntityManager();
EntityTransaction trans = em.getTransaction();
trans.begin();
if (t.getId() != null || t.getId().intValue() != 0) {
em.remove(t);
}
trans.commit();
em.close();
return "removido";
}
}