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

Eu poderia usar o construtor, ao invés do init?

Eu poderia criar um construtor sem parâmetros que realiza o trabalho do init de criar meu DAO genérico, ou o CDI precisa que não exista um método construtor.

2 respostas

Olá,

Tente fazer da sua forma e então verifique as mensagens de erro.

Veja: http://docs.oracle.com/javaee/7/api/javax/annotation/PostConstruct.html

solução!

Olá Carlos,

Ao criar o DAO genérico no construtor default o mesmo iria utilizar o EntityManager nulo, pois a injeção deste só ocorreria após após a inicialização do construtor.

Lembrando que o CDI segue a ordem de inicialização da classe com construtor, injeção e depois o @PostConstruct (caso exista).

Ao criar o dao no metodo init marcado com @PostConstruct o mesmo receberá o EntityManager já injetado pelo CDI.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software