Olá. Boa tarde.
Sou novo em Java, e fui criar uma EntityManageFactory usando CDI seguindo modelos que já existem prontos na web. Fiz o mesmo no DAO, seguindo exemplos. Já vi e revi várias vezes, porém não funciona, o manager fica null no DAO. Alguma dica do que posso estar fazendo errado?
public class EntityManagerProducer {
@Produces
@ApplicationScoped
public EntityManagerFactory getEntityManagerFactory() {
return Persistence.createEntityManagerFactory("supersenaPU");
}
@Produces
@RequestScoped
public EntityManager getEntityManager(EntityManagerFactory factory) {
return factory.createEntityManager();
}
public void fecharEntityManager(@Disposes EntityManager manager) {
if (manager.isOpen()) {
manager.close();
}
}
}
public class UsuarioDAO {
@Inject
private EntityManager em;
public UsuarioDAO() {
}
public UsuarioBO buscarUsuario(long id) {
UsuarioBO Usuario;
try {
Usuario = em.find(UsuarioBO.class, id); <-- em fica null aqui
} catch (Exception ex) {
return null;
}
return Usuario;
}
}