Para a sua classe funcionar, ela precisa apenas ser anotada com @FacesConverter e implementar Converter (como ja fez)
M
Mathiasr
O problema não é esse, o converter funciona. O problema é pegar o EntityManager no Converter. NullPointerException.
darlan_machado1 like
Sinceramente, eu não gosto desta abordagem. Converter é converter, não tem que fazer acesso a banco de dados, isso é tarefa para uma classe específica.
Eu sugiro que você injete a classe que utiliza para realizar consultas no converter e faça a consulta por ela.
M
Mathiasr
darlan_machado, já estou pensando dessa forma. Será que na documentação não tem algo parecido? acho que até quebra o modelo MVC para solicitar dados e retornos direto no Model.
darlan_machado
Quebra o MVC sim.
cassunde1 like
Fala @Mathiasr temos que separar as responsabilidades, temos que ter uma camada exclusiva para acesso aos dados, eu faria da seguinte forma, teria um dao específico desse seu objeto, que seria responsável por obter esse objeto de várias formas, inclusive da forma que vc vai precisar no converter.
Quando em uma classe existe um objeto injetado nulo e muito provável que essa classe não esteja no contexto da CDI ou a CDI não soube criar a instância do atributo injetado, no caso do entityManager deve existir um produces ensinando a CDI como criar-lo
M
Mathiasr1 like
O problema é injetar
@Injectprivate PessoaDao dao;
isso não funciona! Mas resolvi não fazer isso no Converter, acredito que quebra a estrutura MVC do projeto.
Mike1 like
Funciona, mas depende de como esta o seu PessoaDao