Gostaria de um exemplo de como resolver esta aula sem alterar o FetchType. lazy para FetchType.EAGER. Eu tentei pegar uma instancia fresca de livro a partir do Dao como eu faria se tivesse no spring mvc por exemplo , mas não funcionou.
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!
Gostaria de um exemplo de como resolver esta aula sem alterar o FetchType. lazy para FetchType.EAGER. Eu tentei pegar uma instancia fresca de livro a partir do Dao como eu faria se tivesse no spring mvc por exemplo , mas não funcionou.
Alterei o método de carregar o livro no bean para pegar uma instancia nova
public void carregaLivro(Livro livroForm) {
Livro livroDb = new DAO<Livro>(Livro.class).buscaPorId(livroForm.getId());
this.livro = livroDb;
}E alterei o dao para abir uma transação antes de fazer a consulta
public T buscaPorId(Integer id) {
EntityManager em = new JPAUtil().getEntityManager();
em.getTransaction().begin();
T instancia = em.find(classe, id);
em.close();
return instancia;
}funcionou , mas não sei qual é a melhor maneira de fazer isso no JEE , pois estou mal acostumado com o Spring Data.