Fórum Erro java.lang.NullPointerException (RESOLVIDO) #567478

02/09/2011

0

Estou fazendo uma consulta em Hibernate, só que quando compilo ela me gera o erro Java.lang.NullPointerException . Debugando descobri que o erro está no meu WHERE, como estou convertendo minha data e hora, posso estar convertendo errado ? ?
  
                String hql = "SELECT f.sigla, f.nome, f.tipo, f.n_apropriacao, f.local, f.centroCusto, f.descricaoCC, h.hora, h.dt_Dia as data, h.destino as registro ";     
                       hql += "FROM Funcionario f, Horario h ";    
                       hql += "WHERE to_date(h.dt_Dia, 'dd/MM/yyyy') BETWEEN :dataInicio AND :dataFinal ";    
                       hql += "AND to_timestamp(h.hora, 'HH24:MI') > to_timestamp('09:00', 'HH24:MI') ";    
                       hql += "AND to_timestamp(h.hora, 'HH24:MI') < to_timestamp('17:00', 'HH24:MI') ";    
                       hql += "AND flag_destino <> 'atestado'";     
tem algum erro visivel ?! Nunca fiz consulta em Hql, e também sou nova em Java.. Estou quebrando a cabeça há uma semana. . =/ alguém pode me ajudar ? Valeu!
Gabriela Oliveira

Gabriela Oliveira

Responder

Post mais votado

02/09/2011

ai.... quando você "compila" ele lança exceção??? :/ primeiro de tudo: cade a stack trace? http://javafree.uol.com.br/topic-882405-FAQ-Stack-Trace.html esse seu "código", é só uma concatenação de string, você precisa descobrir qual linha de qual método que ele esta lançando a exceção.

Douglas Eric

Douglas Eric
Responder

Gostei + 1

Mais Posts

02/09/2011

Douglas Eric

[quote="sekkuar"]ai.... quando você "compila" ele lança exceção??? :/ primeiro de tudo: cade a stack trace? http://javafree.uol.com.br/topic-882405-FAQ-Stack-Trace.html esse seu "código", é só uma concatenação de string, você precisa descobrir qual linha de qual método que ele esta lançando a exceção.
Isso, segue meu erro
Erro ao gerar o relatorio. java.lang.NullPointerException  
java.lang.NullPointerException  
        acompanhamento.relatorios.RelatorioHorasFuncPeriodo.gerarRelatorio(RelatorioHorasFuncPeriodo.java:42)  
essa é a classeque ele aponta o erro
 public class RelatorioHorasFuncPeriodo {  
  
private Date dataInicio;  
private Date dataFinal;  
  
public void gerarRelatorio() {  
    HashMap parametros = new HashMap();  
    JRBeanCollectionDataSource beanRelatorios;  
    JasperPrint impressao;  
    String caminhoJasper, caminhoRelatorio;  
    HorasFuncionarioPeriodoDao dao = new HorasFuncionarioPeriodoDao();  
     
    try {  
        caminhoJasper = "D:\\Projetos\\Acompanhamento\\web\\relatorios\\jasper\\relHorasFuncPer.jasper";  
        caminhoRelatorio = "D:\\Projetos\\Acompanhamento\\web\\relatorios\\relHorasFuncPer.xls";  
  
        parametros.put("dataInicio", dataInicio);  
        parametros.put("dataFinal", dataFinal);  
          
        beanRelatorios = new JRBeanCollectionDataSource(dao.gethorasFuncionarioPeriodo(dataInicio, dataFinal));  
          
(42)  impressao = JasperFillManager.fillReport(caminhoJasper, parametros, beanRelatorios);  
  
        //Gerando Xls  
        JRXlsExporter xls = new JRXlsExporter();  
        xls.setParameter(JRExporterParameter.JASPER_PRINT, impressao);  
        xls.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, caminhoRelatorio);  
        xls.setParameter(JRXlsExporterParameter.IS_WHITE_PAGE_BACKGROUND, false);  
        xls.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS, true);  
        xls.setParameter(JRXlsExporterParameter.IS_DETECT_CELL_TYPE, true);  
        xls.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET, false);  
        xls.exportReport();  
  
    } catch (Exception e) {  
        System.out.println("Erro ao gerar o relatorio. " + e);  
        e.printStackTrace();  
    }  
}
O erro está na impressao de beanRelatorios, onde ele faz a consulta no DAO .. e dentro do DAO encontrei o erro na consulta . .
Responder

Gostei + 0

02/09/2011

Douglas Eric

esqueci .. segue minha classe DAO

   public class HorasFuncionarioPeriodoDao {

    public List horasFuncionarioPeriodo(Date dataIni, Date dataFim) {
        List<HorasFuncionarioPeriodo> listaFunc = new ArrayList<HorasFuncionarioPeriodo>();
        SimpleDateFormat sf = new SimpleDateFormat();
        HorasFuncionarioPeriodo hrFuncPer;
        Session session = HibernateUtil.getSession();

        String hql = "SELECT f.sigla, f.nome, f.tipo, f.n_apropriacao, f.local, f.centroCusto, f.descricaoCC, h.hora, h.dtDia as data, h.destino as registro ";
        hql += "FROM funcionario f, Horario h ";
       // hql += " WHERE to_date(h.dtDia,'DD/MM/YYYY') BETWEEN :dataIni AND :dataFim ";
       // hql += " AND to_timestamp(h.hora, 'HH24:MI') > to_timestamp('09:00', 'HH24:MI') ";
       // hql += " AND to_timestamp(h.hora, 'HH24:MI') < to_timestamp('17:00', 'HH24:MI') ";
       // hql += " AND flag_destino <> 'atestado' ";
        hql += " WHERE h.pessoa = LOWER(f.sigla) ";
        hql += " WHERE h.hora IS NOT NULL ";
        
        try {
            session.beginTransaction();
            Query query = session.createQuery(hql);
            query.setDate("dataIni", dataIni);
            query.setDate("dataFim", dataFim);

            for (Iterator it = query.iterate(); it.hasNext();) {
                Object[] registro = (Object[]) it.next();
                hrFuncPer = new HorasFuncionarioPeriodo();

                hrFuncPer.setSigla(registro[0].toString());
                hrFuncPer.setNome(registro[1].toString());
                hrFuncPer.setTipo(registro[2].toString());
                hrFuncPer.setN_Apropriacao(Integer.parseInt(registro[3].toString()));
                hrFuncPer.setLocal(registro[4].toString());
                hrFuncPer.setCentroCusto(registro[5].toString());
                hrFuncPer.setDescricaoCC(registro[6].toString());
                hrFuncPer.setHora(registro[7].toString());
                hrFuncPer.setDtDia((Date)registro[8]);
                hrFuncPer.setDestino(registro[9].toString());
                
                listaFunc.add(hrFuncPer);
            }
            session.beginTransaction().commit();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            session.close();
        }
        return listaFunc;
    }
}
Responder

Gostei + 0

02/09/2011

Douglas Eric

[quote="GOliveiraN"][quote="sekkuar"]ai.... quando você "compila" ele lança exceção???
Isso, segue meu erro
Erro ao gerar o relatorio. java.lang.NullPointerException  
java.lang.NullPointerException          acompanhamento.relatorios.RelatorioHorasFuncPeriodo.gerarRelatorio(RelatorioHorasFuncPeriodo.java:42)  
Acredito que voce quis dizer que o erro acontece quando voce [b]executa[/b] e não quando voce [b]compila[/b]... Posta o StackTrace [b]completo[/b] e os fontes [b]completos[/b].
Responder

Gostei + 0

05/09/2011

Douglas Eric

[quote="staroski"][quote="GOliveiraN"][quote="sekkuar"]ai.... quando você "compila" ele lança exceção???
Isso, segue meu erro
Erro ao gerar o relatorio. java.lang.NullPointerException  
java.lang.NullPointerException          acompanhamento.relatorios.RelatorioHorasFuncPeriodo.gerarRelatorio(RelatorioHorasFuncPeriodo.java:42)  
Acredito que voce quis dizer que o erro acontece quando voce [b]executa[/b] e não quando voce [b]compila[/b]... Posta o StackTrace [b]completo[/b] e os fontes [b]completos[/b].
Erro ao gerar o relatorio. java.lang.NullPointerException
java.lang.NullPointerException
        at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:89)
        at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:601)
        at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:517)
        at br.com.projectus.acompanhamento.relatorios.RelatorioHorasFuncPeriodo.gerarRelatorio(RelatorioHorasFuncPeriodo.java:42)
        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 org.apache.jasper.el.JspMethodExpression.invoke(JspMethodExpression.java:68)
        at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:77)
        at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:91)
        at com.sun.rave.web.ui.appbase.faces.ActionListenerImpl.processAction(ActionListenerImpl.java:91)
        at javax.faces.component.UICommand.broadcast(UICommand.java:383)
        at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:447)
        at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:752)
        at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97)
        at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
        at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
        at com.sun.faces.extensions.avatar.lifecycle.PartialTraversalLifecycle.execute(PartialTraversalLifecycle.java:94)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at com.sun.webui.jsf.util.UploadFilter.doFilter(UploadFilter.java:267)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:285)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:341)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
        at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:859)
        at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
        at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1555)
        at java.lang.Thread.run(Thread.java:619)
Responder

Gostei + 0

08/09/2011

Douglas Eric

Eu consegui tirar o erro do NullPointer .. estava relacionado a versão do relatório .. ObrigadoO!
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar