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

Erro - Remover Entidade - Estados Datached Merge e Managed

Boa noite, prezados!

Fiquei com uma dúvida nesse tópico:

Nos exemplos utilizados por que após o 'merge' o registro (id 3) ficou no estado 'datached' e foi necessário utilizar o find() para corrigir o erro java.lang.IllegalArgumentException?No resumo ao fim do capítulo temos a seguinte afirmação "Para passar uma entidade Detached para Managed usamos o método merge()". Fiquei confuso...

2 respostas

O merge retorna para você um objeto gerenciado. O que foi passado como argumento, se foi detached, continuará.

solução!

No último exercício deu pra entender melhor. O objeto ficou detached porque quando estava managed, no teste foi feito uma consulta do titular, através do método find(). Ocorre que após o manage.close() foi feita uma alteração no nome do titular, o que provocou a sua mudança de managed para datached.