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.
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.