selectOneListbox Erro de conversão null Converter [RESOLVIDO COM POG]

Olá.

Estou com este problema a 2 dias e não consigo achar a solução.

No google e aqui no GUJ eu achei várioss, vários mesmo, tópicos, ensinando a fazer, vários exemplos etc…

  • em nenhum deles eu consegui resolver meu problema…
    Acredito que estou fazendo de uma forma bem simples e não to conseguindo entende muito bem o conceito.

Quando eu vou cadastrar aparece:
Erro de conversão ao definir o valor ‘Geral’ para ‘null Converter’.
Geral -> eh o departamento cadastrado no banco de dados

Caso encontrem algum erro que estou cometendo, por favor faça um comentário, pois sou novo na área.

1- Então primeiramente eu tenho em anexo ao tópico minhas 2 entidades… Departamento e Usuario.

2- No meu .xhtml eu tenho o selectOneListbox, que na verdade pode ser selectonemenu ou qlqr coisa do tipo q selecione apenas um.

<h:form> <h:selectOneListbox value="#{usuarioBean.departamento}"> <f:selectItems value="#{usuarioBean.departamentos}"/> </h:selectOneListbox> <h:commandButton value="Salvar" action="#{usuarioBean.inserir}"/> </h:form>

3- E no meu UsuarioBean eu tenho:

[code]@ManagedBean
@RequestScoped
public class UsuarioBean {

DaoGenerico dao;
Usuario usuario;
List<Usuario> usuarios;
Departamento departamento;
List<Departamento> departamentos;

public UsuarioBean() {
    dao = new DaoGenerico();
    usuario = new Usuario();
    usuarios = new ArrayList<>();
    usuarios = (List<Usuario>) dao.recuperaLista(Usuario.class);
    departamento = new Departamento();
    departamentos = (List<Departamento>) dao.recuperaLista(Departamento.class);
}

public void inserir() {
    System.out.println(departamento);
    dao.salvarNovo(usuario);
}[/code]




haha, ja eh a segunda vez q eu fico 2 dia tentando faze alguma coisa, e 5min depois de postar aqui eu resolvo ^^

na verdade oq eu fiz foi um POG…

se alguem souber responder da maneira correta, por favor poste aqui !

1- no meu DaoGenerico eu coloquei o seguinte método:

public Departamento pegaDepartamento(String parte) { String hql = "from Departamento d where d.nome like :filtro"; Query q = em.createQuery(hql); q.setParameter("filtro", "%" + parte + "%"); return (Departamento) q.getSingleResult(); }

2- meu UsuarioBean o metodo inserir ficou:

public void inserir() { departamento = dao.pegaDepartamento(departamento.getNome()); usuario.setDepartamentoId(departamento); dao.salvarNovo(usuario); }

3- meu xhtml nao mudo nada fico:

<h:selectOneListbox value="#{usuarioBean.departamento.nome}"> <f:selectItems value="#{usuarioBean.departamentos}"/> </h:selectOneListbox>