1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Erro ao realizar uma consulta no arquivo Bean

Pessoal, boa tarde.

Estou iniciando em Java e me deparei com um problema que não consigo resolver. Não sei se meu problema está no mapeamento da minha Entidade, na DAO ou na Bean.

Minha classe Bean

package br.com.advpos.bean;

import br.com.advpos.dao.ADGenericDao;
import br.com.advpos.entities.VenCondicaopagto;
import br.com.advpos.entities.VenCondicaopagtoPK;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.persistence.NoResultException;
import javax.persistence.NonUniqueResultException;
import javax.persistence.Query;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;

@Service("venCondicaopagtoBean")
public class VenCondicaopagtoBean {

    @Autowired
    @Qualifier("venCondicaopagtoDao")
    private ADGenericDao<VenCondicaopagto, VenCondicaopagtoPK> venCondicaopagtoDao;
    private static final Logger logger = Logger.getLogger(VenCondicaopagtoBean.class);
    protected List<VenCondicaopagto> toReturnList;

    public VenCondicaopagtoBean() {
    }

    public VenCondicaopagto fetchById(VenCondicaopagtoPK id) {
        return venCondicaopagtoDao.fetchById(id);
    }

    public List<VenCondicaopagto> consultaCondicoes(String guid){

        toReturnList = new ArrayList<VenCondicaopagto>();

        String sqlQuery = "SELECT A.* FROM VEN_CONDICAOPAGTO A WHERE A.GUID = :guid";

        try {

            Query q = venCondicaopagtoDao.createSQLquery(sqlQuery, VenCondicaopagto.class);            
            q.setParameter("guid", guid);
            toReturnList = q.getResultList();

        } catch (NoResultException nre) {
            toReturnList = null;
        } catch (RuntimeException re) {
            logger.error("[consultaCondicao] Erro na consulta: ", re);
            toReturnList = null;
        }

        return toReturnList;
    }


}

Erro quando chamo o método no Bean consultaCondicoes

INFO: [Wpos_Advice] 13/01/15 16:45 ERROR [http-thread-pool-8080(3)] (VenCondicaopagtoBean.java:48) - [consultaCondicao] Erro na consulta: 
java.lang.NullPointerException
    at br.com.advpos.bean.VenCondicaopagtoBean.consultaCondicoes(VenCondicaopagtoBean.java:41)
    at wpos.controle.academico.adCentralRenegociacao.getListaDeCondicoes(adCentralRenegociacao.java:223)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
...continua

Erro quando chamo o método no Bean fetchById

WARNING: StandardWrapperValve[Faces Servlet]: PWC1406: Servlet.service() for servlet Faces Servlet threw exception
java.lang.NullPointerException
    at br.com.advpos.bean.VenCondicaopagtoBean.fetchById(VenCondicaopagtoBean.java:30)
    at wpos.controle.academico.adCentralRenegociacao.getRegistroExemplo(adCentralRenegociacao.java:240)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at javax.el.BeanELResolver.getValue(BeanELResolver.java:363)
    at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)
    at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)
...continua

classe venCondicaopagtoDao.java

package br.com.advpos.dao;

import br.com.advpos.entities.VenCondicaopagto;
import br.com.advpos.entities.VenCondicaopagtoPK;

public interface VenCondicaopagtoDao extends ADGenericDao<VenCondicaopagto, VenCondicaopagtoPK>{

}

classe venCondicaopagtoDaoImp

package br.com.advpos.dao;

import br.com.advpos.entities.VenCondicaopagto;
import br.com.advpos.entities.VenCondicaopagtoPK;
import org.springframework.stereotype.Repository;

@Repository("venCondicaopagtoDao")
public class VenCondicaopagtoDaoImp  extends ADGenericDaoImp<VenCondicaopagto,  VenCondicaopagtoPK> implements VenCondicaopagtoDao {

}

classe adCentralRenegociacao.java (parte que chama o bean)

package wpos.controle.academico;

import br.com.advpos.bean.VenCondicaopagtoBean;
import br.com.advpos.entities.VenCondicaopagto;
import br.com.advpos.entities.VenCondicaopagtoPK;
import com.sun.rave.web.ui.appbase.AbstractPageBean;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.ArrayList;
import java.util.List;
import java.util.*;
import javax.faces.component.UISelectOne;
import javax.faces.context.FacesContext;
import javax.faces.event.ValueChangeEvent;
import javax.faces.model.SelectItem;
import javax.servlet.http.HttpSession;
import wpos.controle.SessionBean1;
import wpos.controle.utilidades.WposMessages;


public class adCentralRenegociacao extends AbstractPageBean {

    FacesContext fc = FacesContext.getCurrentInstance();
    HttpSession session = (HttpSession) fc.getExternalContext().getSession(false);

    private VenCondicaopagto registroExemplo;
    private VenCondicaopagtoPK pkTeste;

    public VenCondicaopagto getRegistroExemplo() {
        if(registroExemplo==null){
            pkTeste = new VenCondicaopagtoPK("ABCDEFG-HIJK-LMNO-PQRS", 4);
            registroExemplo = getVenCondicaopagtoBean().fetchById(pkTeste);
        }
        return registroExemplo;
    }

    public void setRegistroExemplo(VenCondicaopagto registroExemplo) {
        this.registroExemplo = registroExemplo;
    }

    protected VenCondicaopagtoBean getVenCondicaopagtoBean() {
        return (VenCondicaopagtoBean) getBean("venCondicaopagtoBean");
    }

}

Já ouvi falar que esse erro NullPointerException é bem primário, quando um objeto não está instanciado. Mas não sei como resolver.

Podem me ajudar não sei de onde vem esse nullpointer.

Muito obrigado.

  • qual a linha 48 do seu bean?

    Roque Buarque   13 de jan de 2015
  • fala brother! significa que a propriedade/objeto está nulo (null) basta checar a linha informada e ver se não se esqueceu de nada (as vezes de concretizar uma instancia, etc).

    Ferrete   13 de jan de 2015
  • Roque, a linha 48 é logger.error("[consultaCondicao] Erro na consulta: ", re);

    Douglas Gripp Emerick   13 de jan de 2015
  • brother, coloca o Bean inteiro colei num texteditor e nenhuma das linhas informadas nos erros bate com o postado (a não ser a linha 30)

    Ferrete   13 de jan de 2015
  • Ferrete, desculpa ae, na hora que digitei a pergunta acabei retirando os espaços. Editei o Bean da pegunta e coloquei o código com os espaços.

    Douglas Gripp Emerick   13 de jan de 2015
Mostrar todos os 9 comentários>
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

2 respostas

Não é a resposta que estava procurando? Procure outras perguntas com as tags jpa dao sql ou faça a sua própria pergunta.