Erro Listar objeto pelo nome com jsf + hibernate!

2 respostas
V

Estou tentando listar um objeto do banco pelo nome, mas está exibindo:
java.lang.NullPointerException!

Alguém poderia dá uma ajuda? vlw.

Na classe PacienteDao:

public List<Paciente> pesquisaPacienteByNome(String nome) {
           if (nome == null || nome.trim().equals(""))
          return (List<Paciente>)
this.session.createCriteria(Paciente.class).list();
           return (List<Paciente>) this.session
                  .createCriteria(Paciente.class)
                  .add(Restrictions.ilike("nome_paci", "%"+nome+"%"))
                  .list();
   }

Na classe PacienteFacadeImpl:

public List<Paciente> pesquisaPacientesByNome(String nome_paci) {
               sf = new
AnnotationConfiguration().configure().buildSessionFactory();
               session = sf.openSession();
               tx = session.beginTransaction();
               pacienteDao = new PacienteDao(session, Paciente.class);

        List<Paciente> lista =
this.pacienteDao.pesquisaPacienteByNome(nome_paci);

               tx.commit();
               session.close();

               return lista;
       }

Na classe PacienteContoller:

public String pesquisaPacientes(){
       PacienteFacade pacienteService = new PacienteFacadeImpl();
       this.paciente = (Paciente)
pacienteService.pesquisaPacientesByNome(nomePesquisa);
       return "sucesso";
       }

Na Pagina listar chamo da seguinte maneira:

<h:form>
               <h:panelGrid columns="3">
                       <h:outputText value="Nome: " />
                       <h:inputText id="nome_paci"
value="#{paciente.paciente.nome_paci}" />
               </h:panelGrid>
               <h:commandButton value="Pesquisar"
action="#{paciente.pesquisaPacientes}" />
       </h:form>

2 Respostas

luxu

Posta o erro pra analisarmos, mas adianto geralmente qdo da NULLPOINTEREXCEPTION é q se esta tendando pegar um objeto nulo, ou seja vc naum inicializou o objeto e está tentando pegar valor nele ok?

V

O erro:

Caused by: java.lang.NullPointerException
        at br.com.ctp.dao.PacienteDao.pesquisaPacienteByNome(PacienteDao.java:58)
        at br.com.ctp.facade.PacienteFacadeImpl.pesquisaPacientesByNome(PacienteFacadeImpl.java:88)
        at br.com.ctp.controller.PacienteController.pesquisaPacientes(PacienteController.java:65)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.el.parser.AstValue.invoke(AstValue.java:191)
        at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
        at com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68)
        at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:77)

As linhas nos códigos:

return (List<Paciente>) this.session.createCriteria(Paciente.class).list();
List<Paciente> lista = this.pacienteDao.pesquisaPacienteByNome(nome_paci);
this.paciente = (Paciente) pacienteService.pesquisaPacientesByNome(nomePesquisa);

Estou sem saber o porquê!!!

Criado 24 de março de 2011
Ultima resposta 24 de mar. de 2011
Respostas 2
Participantes 2