Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Persistindo 2 vezes a mesma referência de objeto após a remoção

Se eu commitar um remove de um objeto managed o registro do banco vai sumir, mas eu ainda tenho a referência em memória para esse objeto (que estará em estado removed)

Se eu usar um novo persist (dentro de uma nova transação) para incluir essa mesma referência de objeto novamente, o que deveria acontecer? Ele não deveria voltar ao estado Managed?

Questiono isso pois a atividade 10 da aula 2 entende como errado dizer que "A entidade nesse estado pode ser Managed novamente"

3 respostas

Olá Douglas, tudo bem? Bem isso é verdade, é possível voltar um objeto do estado de Removed para o estado Managed, porém isso só é possível se a transação não for confirmada (commit) ou for feito um rollback, caso já tinha sido confirmada vamos ter um erro afirmando que a entendida está desanexada e não existe no banco de dados.

Espero ter ajudado e bons estudos!

Se eu entendi direito a JPA não é capaz de gerar um novo id para o mesmo objeto previamente em estado removed caso eu tente persistir uma segunda vez em uma transação distinta. É isso mesmo?

solução!

Isso mesmo Douglas, só que ela só não consegue se a transação for confirmada (commit), se você não tiver feito a confirmação das transações não tem problema, você vai consegue colocar o objeto no estado Managed novamente!

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