Boa tarde pessoal tudo bem?
Estou com meu primeiro projeto utilizando JSF, Spring e estou me deparando com um problema no uso dos Converter, dentro de um Converter estou utilizando o getHibernateTemplate.find(“from Funcionario where codigo=?”, codigoFuncionario)mas me parece que o Spring não está conseguindo realizar seu papel neste caso o que devo fazer ? Acredito que não estou recebendo um Session do Spring…
obs. Como estou aprendendo essa nova arquitetura JPA, Spring… Posso ter falado alguma besteira me corrijam…
Eu tenho um código muito parecido com isso que funciona normalmente.
smorigo
Olá Mauricio o meu converter está desta maneira:
packagebr.com.fato.juridico.converter;importjavax.faces.component.UIComponent;importjavax.faces.context.FacesContext;importjavax.faces.convert.Converter;importjavax.faces.convert.ConverterException;importorg.springframework.orm.hibernate3.support.HibernateDaoSupport;importbr.com.fato.juridico.bean.Estado;publicclassEstadoConverterextendsHibernateDaoSupportimplementsConverter{publicObjectgetAsObject(FacesContextarg0,UIComponentarg1,Stringarg2)throwsConverterException{Estadoestado=null;try{//estado = (Estado) getHibernateTemplate().get(Estado.class, arg2);estado=(Estado)getHibernateTemplate().find("from Estado where codigoEstado=?",arg2);System.out.println(estado.getNomeEstado());}catch(Exceptione){System.out.print(e.getMessage());}returnestado;}publicStringgetAsString(FacesContextarg0,UIComponentarg1,Objectobject)throwsConverterException{if(object==null){returnString.valueOf("");}returnobject.toString();}}
No meu Bean Estado sobrescrevi o toString para exibir o atributo codigoEstado e reparei q no momento da execucaco do converter no console é exibido um: nullHibernate
Mauricio_Linhares
O seu Converter não deveria herdar de HibernateDaoSuport, ele deveria ter acesso a um objeto que herde de HibernateDaoSuport e que esteja no contexto do Spring.
smorigo
Ola Mauricio e pessoal, olha coloquei no meu EstadoServiceImpl o metodo:
Estive verificando e pelo que entendi o Spring está injetando o session após a minha tentativa de recuperar o objeto Estado, existe alguma maneira de consertar isso ?
Bom consegui resolver em termos o problema, peguei atravez do facesContext a minha classe que estava com a sessão injetada dessa maneira consegui fazer ele pesquisar o objeto com sucesso, mas ainda continua dando o problema de Not Valid
alguém tem idéia do q está ocorrendo?
Mauricio_Linhares
Que problema de not valid é esse?
smorigo
Mauricio como vc havia me recomendado em um post anterior, criei um metodo dentro de uma classe que recebia a session do spring para recuperar a classe e persistir.
Então fiz isso da seguinte maneira no meu Converter:
Mas quando realizo um Submit na pagina, o Converter consegue recuperar as informações do BD, mas exibe na pagina o erro: Validation Error: Value is not valid
Mauricio_Linhares
Rapaz, nunca vi isso, mas se ele está dando erro de validação, será que não é outra validação que você configurou não?