Quando executo minha aplicação tenho o seguinte erro :
Hibernate: /* SELECT apr.contrato, SUM(apr.hora) FROM Apropriacao apr WHERE to_date(apr.dia||'/'||apr.mes||'/'||apr.ano, 'DD/MM/YYYY') BETWEEN :dataIni AND :dataFim AND apr.n_apropriacao < 90000 AND apr.os != :cadOs GROUP BY apr.contrato ORDER BY apr.contrato */ select apropriaca0_.contrato as col_0_0_, SUM(apropriaca0_.hora) as col_1_0_ from apropriacao_unico apropriaca0_ where (to_date(apropriaca0_.dia||'/'||apropriaca0_.mes||'/'||apropriaca0_.ano, 'DD/MM/YYYY') between ? and ?) and apropriaca0_.n_apropriacao<90000 and apropriaca0_.os<>? group by apropriaca0_.contrato order by apropriaca0_.contrato
org.hibernate.exception.DataException: could not execute query using iterate
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:77)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.loader.hql.QueryLoader.iterate(QueryLoader.java:427)
at org.hibernate.hql.ast.QueryTranslatorImpl.iterate(QueryTranslatorImpl.java:380)
at org.hibernate.engine.query.HQLQueryPlan.performIterate(HQLQueryPlan.java:224)
at org.hibernate.impl.SessionImpl.iterate(SessionImpl.java:1192)
at org.hibernate.impl.QueryImpl.iterate(QueryImpl.java:46)
at br.com.projectus.acompanhamento.persistencia.RelCompHorasPeriodo.consultaPeriodo(RelCompHorasPeriodo.java:56)
at br.com.projectus.acompanhamento.persistencia.RelCompHorasPeriodo.gerarRelatorio(RelCompHorasPeriodo.java:89)
at br.com.projectus.acompanhamento.relatorios.RelatorioCompHorasPeriodo.geraRelatCompHorasPer(RelatorioCompHorasPeriodo.java:66)
at acompanhamento.CompHorasAprPeriodo.btnGerarRelatorio_action(CompHorasAprPeriodo.java:331)
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 org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:321)
at org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:296)
at org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:253)
at org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:466)
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)
Caused by: java.sql.SQLException: ORA-01861: o literal não corresponde à string de formato
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:216)
at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:955)
at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1061)
at oracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe(T4CPreparedStatement.java:839)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1133)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3285)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3329)
at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeQuery(NewProxyPreparedStatement.java:76)
at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:186)
at org.hibernate.loader.Loader.getResultSet(Loader.java:1787)
at org.hibernate.loader.hql.QueryLoader.iterate(QueryLoader.java:404)
... 52 more
no meio gera um outro erro de String de formato do Oracle.
esse segundo erro da em função do primeiro ? ?
ou são coisas diferentes…
Eu não sei o que fazer para reverter esse erro;
Alguém pode me ajudar ?
Abaixo segue minha classe DAO
public List<ComparacaoHorasPeriodo> consultaPeriodo(List<ComparacaoHorasPeriodo> relat, int numPeriodo,
Date dataIni, Date dataFim, boolean incluirTerceiros,boolean incluirOsAusencia, String cadOs) {
CadOsAusenciaDao dao = new CadOsAusenciaDao();
Session sessao = HibernateUtil.getSession();
String SQL = "SELECT apr.contrato, SUM(apr.hora) ";
SQL += "FROM Apropriacao apr ";
SQL += "WHERE to_date(apr.dia||'/'||apr.mes||'/'||apr.ano, 'DD/MM/YYYY') ";
SQL += "BETWEEN :dataIni AND :dataFim ";
if (!incluirTerceiros) {
SQL += "AND apr.n_apropriacao < 90000 ";
}
if(incluirOsAusencia==false) {
SQL += "AND apr.os != :cadOs ";
}
SQL += "GROUP BY apr.contrato ";
SQL += "ORDER BY apr.contrato ";
try {
Query q = sessao.createQuery(SQL);
q.setParameter("dataIni", dataIni);
q.setParameter("dataFim", dataFim);
if(incluirOsAusencia==false) {
q.setString("cadOs", dao.retornaOs().getOs());
}
for (Iterator it = q.iterate(); it.hasNext();) {
Object[] obj = (Object[]) it.next();
int contrato = Integer.parseInt(obj[0].toString());
for (int i = 0; i < relat.size(); i++) {
if (contrato == relat.get(i).getContrato()) {
relat.get(i).setarPeriodo(Double.parseDouble(obj[1].toString()), numPeriodo);
}
}
}
} catch (Exception e) {
e.printStackTrace();
} finally {
sessao.close();
}
return relat;
}