packagemanagedBean;importjava.io.Serializable;importjava.util.List;importjavax.faces.bean.ApplicationScoped;importjavax.faces.bean.ManagedBean;importjavax.persistence.EntityManager;importmodel.Cidade;importservice.JPAUtil;@ManagedBean(name="cidadeComboMB")@ApplicationScopedpublicclassCidadeComboMBimplementsSerializable{privatestaticfinallongserialVersionUID=-8845930348740989024L;@SuppressWarnings("unchecked")publicList<Cidade>getCidade(){EntityManagerem=JPAUtil.getEntityManager();returnem.createQuery("from Cidade cidade").getResultList();}}
O combo é montado direitinho, o problema é só na hora do submit certo?
Algumas dicas para ajudar na sua análise:
Veja o html gerado (View Source do browser), veja se ele gerou os options corretamente, com o label e value corretos (label é o nome da cidade, value provavelmente será convertido para o código)
Coloque um breakpoint no método getAsObject. Assim vc vai ver exatamente o que está chegando e que deu erro de conversão.
A
Alex_Silva
Gomes, tambem estou com um problema parecido, setei para o selectitem uma string e um int, que é o codigo da tabela no bd, mesmo assim preciso fazer essa conversão? Estou controlando os atributos no console, o bean recupera o “id”, mas na hora de seta-lo no objeto dá um erro “javax.faces.el.EvaluationException: java.lang.NullPointerException”. O que poderia ser feito?
T
tiago.javaman
Rapaziada!!
Resolvi meu problema…
Depois de uma noite perdida, em cima disso, pesquisando na net só me deparava com o povo falando do dito hashCode e .equals.
E como ja tinha postado aqui, minha classe model Cidade possuia os hashCode corretamente…
Fica a dica pro pessoal ai, agora sim eu percebi a extrema importancia de NUNCA esquecer de gerar o hashCode.
Obrigado a todos pela força. :oops:
A
Alex_Silva
Tiago, pelo que li no artigo, essa conversão só é preciso ser feita quando o valor do Selectitems não é a id. No meu caso setei a id na list, tanto que pelo console ela é exibida, uma linha antes de ser setada no objeto para ser salvo no bd. Ou tenho que fazer essa conversão mesmo assim?