Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Falta método na classe DAO

Eu que estou comendo bola, ou o método que ele pede pra listar os autores que estou gravando não foi implementado na classe DAO? Outra coisa, sei que o curso não é sobre Hibernate, mas acho que seria válido caso utilizassem o Hibernate do jeito que foi ensinado no curso de JPA aqui da Alura. Pq esse jeito ao invés de facilitar confundiu mais a cabeça, pelo menos a minha...

5 respostas

Olá Thatiana, O método existe sim, cheguei até fazer download do projeto que está logo no início do capítulo. No projeto baixado temos:

    public List<T> listaTodos() {
        EntityManager em = new JPAUtil().getEntityManager();
        CriteriaQuery<T> query = em.getCriteriaBuilder().createQuery(classe);
        query.select(query.from(classe));

        List<T> lista = em.createQuery(query).getResultList();

        em.close();
        return lista;
    }

Como o foco do treinamento é JSF, deixamos parte de JPA pronta para que o aluno foque no JSF. Inclusive há um treinamento exclusivo para JPA na plataforma.

Espero ter ajudado.

Abraço

Oi Tathiana, pelo que vi no video os autores do livro estão sendo recuperados pelo relacionamento. Quando chama o metodo "gravarAutor()" guardamos o autor em questão no relacionamento, algo assim:

this.livro.adicionaAutor(autor);

Para listar os livros do autor basta acessar este relcionamento:

List<Autor> autores = this.livro.getAutores();

E se precisar listar todos os autores, independente do livro, basta usar o código do Flavio.

Ficou mais claro?

Abs

solução!

o que fiz foi no método gravarAutor adicionar o autor em uma lista chamada autoresDoLivro e interar essa lista na datatable. Não sei se é o melhor jeito... acho apenas que essa parte deveria ser mostrada no video.

o que fiz foi no método gravarAutor adicionar o autor em uma lista chamada autoresDoLivro e interar essa lista na datatable. Não sei se é o melhor jeito... acho apenas que essa parte deveria ser mostrada no video.

Oi Tathiana,

É que você não precisa dessa lista "autoresDoLivro" pois ela já existe no relacionamento. Se você abre a classe Livro vai achar um List<Autor> autores com essa finalidade.

Abraços