1
resposta

Estado Removed

Analisando o diagrama, depois que ele se encontra no estado Removed, não é possível transicionar para nenhum outro estado posteriormente? Ou, do removed, eu posso dar um close que ele vai pro Detached ou se eu der um set seguido de um flush, ele conseguiria compilar?

1 resposta

Oi Gustavo,

Na verdade ainda é possível "ressuscitar" uma entidade que está removed, bastando a passar para o método persist:

em.getTransaction().begin();

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

//produto volta para o estado managed e não será mais excluido:
em.persist(p);

em.getTransaction().commit();
em.close();