Galera, não estou conseguindo remover um registro do banco de dados.
Eu quero deletar um produto.
Essa entidade tem ligação com outras entidades.
Daí eu tento deletar e aparece erro:
Então plim, é que eu estou usando meu metodo delete para todos os módulos e só este está dando problema.
Portanto, acredito que seja um problema de relacionamento.
Pq esse registro tem relacionamento com muitas entidades.
Acho que deve estar faltando excluir algum registro junto com esse.
Aliás, teria como eu ver qual relacionamento está dando problema?
Chuvinha
Plim, fiz o que vc sugeriu e meu código ficou assim:
public void removerPorChave(Class objeto, Integer chave) {
EntityManager em = getEntityManager();
try {
Object x = getEntity(objeto, chave);
Object y = em.merge(x);
em.getTransaction().begin();
em.remove(y);
em.getTransaction().commit();
} catch (RuntimeException e) {
em.getTransaction().rollback();
throw e;
} finally {
em.close();
}
}
E agora aparece outro erro:
java.lang.IllegalStateException: Transaction already active
at org.hibernate.ejb.TransactionImpl.begin(TransactionImpl.java:35)