My web application uses JSF / Hibernate, but when I run a search method on the DB it returns "java.lang.NullPointerException". What is the cause of the error?
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.bean;
import java.io.Serializable;
import java.util.List;
import javax.faces.bean.ViewScoped;
import javax.inject.Inject;
import com.entity.DadosPessoais;
import com.filter.DadosPessoaisFilter;
import com.repository.DadosPessoaisRepo;
import javax.faces.bean.ManagedBean;
import javax.inject.Named;
@ViewScoped
@Named
@ManagedBean(name="pesquisa")
public class Pesquisa implements Serializable {
private static final long serialVersionUID = 1L;
@Inject
private DadosPessoaisRepo dadospessoaisrepo ;
private DadosPessoaisFilter filtro;
private List<DadosPessoais> militarFiltrado;
public Pesquisa() {
filtro = new DadosPessoaisFilter();
}
public void pesquisar() {
militarFiltrado = dadospessoaisrepo.filtrados(filtro);
}
public DadosPessoaisFilter getFiltro() {
return filtro;
}
public List<DadosPessoais> getMilitarFiltrado() {
return militarFiltrado;
}
}
My view:
<h:form id="cadastro">
<p:fieldset style="background: #CDCDB4">
<center><h2 style="font-family:Trebuchet MS,Arial, Helvetica; font-size:30px; color:#009999;">Pesquisa de Militares</h2></center>
</p:fieldset><br/>
<center><p:panelGrid columns="3" id="painel" style="margin-top: 20px" columnClasses="nome">
<p:outputLabel value="Nome" for="nome"/>
<p:inputText id="nome" size="60" value="#{DadosPessoaisBean.dadospessoais.nome}"/>
<p:commandButton value="Pesquisar" action="#{pesquisa.pesquisar}" update="@form"/>
</p:panelGrid></center><br/><br/>
<center><p:dataTable value="#{pesquisa.militarFiltrado}" var="tbdados" id="tabela" style="width:80%;"
emptyMessage="Nenhum produto encontrado." paginatorAlwaysVisible="false" paginatorPosition="bottom"
rows="10" paginator="true" >