Pq não dar outro find na conta no lugar do merge para transformar a entidade em Managed novamente.
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.