Pq não dar outro find na conta no lugar do merge para transformar a entidade em Managed novamente.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Pq não dar outro find na conta no lugar do merge para transformar a entidade em Managed novamente.
Boa tarde, Diego! Como vai?
O método find() não transforma uma entidade detached em managed. O que o esse método faz é uma busca no BD trazendo a entidade de lá já no estado managed.
Pegou a ideia? Qualquer coisa é só falar!
Grande abraço e bons estudos, meu aluno!
Pelo menos foi o que eu entendi na aula abaixo:
Java e JPA: Persista seus objetos com a JPA2 e Hibernate,
3 - Gerenciamento de estados pelo EntityManager
03 Conhecendo o estado Managed(A partir do minuto 4 do video)
A minha duvida é o seguinte no video 6 da aula 3, ele mostra o uso do merge, no entanto ele tinha feito o find() depois encerrou o EntityManager e logo abaixo ele chama o merge pq a conta está no estado Detached, funcionaria se eu chamasse de novo no outro EntityManager o metodo find novamente.
Opa, Diego!
A minha duvida é o seguinte no video 6 da aula 3, ele mostra o uso do merge, no entanto ele tinha feito o find() depois encerrou o EntityManager e logo abaixo ele chama o merge pq a conta está no estado Detached, funcionaria se eu chamasse de novo no outro EntityManager o metodo find novamente.
Sim, funcionaria! Mas vc faria um acesso ao BD de forma desnecessária quando vc já tinha a entidade em estado detached, a qual precisava apenas ser passada para o estado managed sem acesso ao BD.
Pegou a ideia? Qualquer coisa é só falar.
Grande abraço e bons estudos, meu aluno!
Entendi, show.