PessoALL…
Tenho um aluno numa lista e ao clicar no registro dele redireciona para uma tela onde posso cadastrar esse aluno em um curso selecionado numa combo
carregada do banco de dados…
COMBO DE CURSOS QUE VEM DO BANCO…
<h:outputText value="Cursos:" />
<h:selectOneMenu id="id_curso" value="#{alunoBean.cursoSelecionado}">
<f:selectItem itemLabel="Selecione Uma Opção"/>
<f:selectItems value="#{cursoBean.listaTodosCursos}"/>
<!--f:converter converterId="converterComboCurso"-->
</h:selectOneMenu>
CÓDIGO QUE FAZ A CONSULTA E CARREGA A COMBO…
public List<SelectItem> getListaTodosCursos() {
//cria(Abre) a sessão com o Banco
Session session = HibernateUtil.getSession();
//Faz a query de consulta á tabela Curso do banco de dados
//e retorna todos os cursos cadastrados
Query q = session.createQuery("from Curso");
//Lista que recebe o resultado da consulta
List<Curso> cursos = q.list();
//lista que irá preencher a combo
List<SelectItem> listaCursos = new ArrayList<SelectItem>();
//pega cada Objeto Curso dentro de cursos(lista que recebe o resultado da query) e add dentro de um novo selectItem(listaCursos)
for(Curso c : cursos){
listaCursos.add(new SelectItem(c, c.getDescricao()));
}
return listaCursos;
}
O PROBLEMA É QUE QUANDO SELECIONO UM VALOR NA COMBO E SUBMETO PRA GRAVAR NO BANCO ELE JÁ CHAMA A SEGUINTE VALIDAÇÃO NA TELA ANTES DE CHAMAR QUALQUER MÉTODO:
Conversion Error setting value ‘entidades.Curso@20’ for ‘null Converter’
Não estou sabendo lidar com esse erro, já percebi que ele precisa de um CONVERTER, Mas num entendi como funciona ainda…
Se puderem ajudar…