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

1 resposta
alandiniz

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:
@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);
    }


1 Resposta

alandiniz

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>

Criado 12 de outubro de 2011
Ultima resposta 12 de out. de 2011
Respostas 1
Participantes 1