Quando eu usava SQL comum conseguia facilmente usar o selectItem para carregar um selectOneMenu, porém agora com hibernate eu tenho que pegar a entidade e não só o código da outra tabela, testei vários conversores que achei na net mas nenhum está dando certo. É possível fazer isso sem conversor? Ou alguém tem um conversor funcionando para mostrar como ficou o código?
Pelo que eu entendi tem o BeanUtils com o método copyProperties para copiar valores de um objeto para outro.
:okok:
F
fpmxPJ
Na verdade só preciso pegar o código o item selecionado no selectOneMenu, só que ele retorna o objeto e dá erro: Conversion Error setting value ‘1’ for ‘null Converter’.
Carrega normal os valores no combo, mas na hora de dar o submit apresenta o erro: Validation Error: Value is not valid
M
marcossousaPJ
Opa,
Bom até o momento ainda não consegui colocar para o campo valor uma propriedade que não seja String, certamente eles devem corrigir isto nas próximas versões.
:okok:
F
fpmxPJ
Consegui fazer funcionar usando um conversor assim:
publicclassGrupoConverterimplementsConverter{publicObjectgetAsObject(FacesContextfacesContext,UIComponentuIComponent,Stringstring){if(string==null){returnnull;}Integerid=newInteger(string);Sessionsession=HibernateSessionFactory.openSession();GrupoDaogrupoDao=newGrupoDao(session);returngrupoDao.buscar(id);}publicStringgetAsString(FacesContextfacesContext,UIComponentuIComponent,Objectobject){if(object==null){returnnull;}if(objectinstanceofGrupo){Grupoo=(Grupo)object;return""+o.getId();}else{thrownewIllegalArgumentException("object:"+object+" of type:"+object.getClass().getName()+"; expected type: Grupo");}}}
A pergunta agora é, será possível criar um conversor genérico para usar por qualquer selectOneMenu?
M
marcossousaPJ
Você fala para qualquer tipo de dados? Se for, não existe, sugiro ir criando conversores para os campos que ainda não existem.
:okok:
J
javafigueiredoPJ
Olá Marcosouza!!!
Preciso popular um combo. Peguei um exemplo aqui no grupo:
Se eu chamar diretamente a lista: ="#{TypeinheritanceFacade.Typeinheritances}" , tenho erro de cast. Podes me ajudar a resolver isso, mas se possivel com alguns detalhes, sou iniciante em java!!