1
resposta

Carregar os dados do livro com Lazy

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.

1 resposta

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.