Olá gujeiros.
Estou com uma aplicação com VRaptor e Hibernate e após uma série de mudanças na infra do sistema como atualização do hibernate, do vraptor e na gestão das sessões encontrei problemas em algumas consultas que antes funcionavam.
O método abaixo faz uma consulta createQuery sobre um hql com counts que retorna, apenas, algumas colunas.
Percorro ele e distribuo as colunas em atributos de um objeto temporário.
@SuppressWarnings("rawtypes")
public List<CentroCusto> listarCentroCustoS() {
List<CentroCusto> centroCustoS = new ArrayList<CentroCusto>();
CentroCusto centroCusto;
String sql = "SELECT cc.cod_centro_custo, UPPER(cc.descricao), cc.cod_grupo_pc FROM CentroCusto cc WHERE cc.cod_grupo_pc <> 2 GROUP BY cc.cod_centro_custo, cc.descricao, cc.cod_grupo_pc ORDER BY cc.descricao";
Query query = session.oracleSession().createQuery(sql);
Iterator it = query.iterate();
while ( it.hasNext() ) {
centroCusto = new CentroCusto();
Object[] row = (Object[]) it.next();
centroCusto.setCod_centro_custo((Long)row[0]);
centroCusto.setDescricao((String)row[1]);
centroCusto.setCod_grupo_pc((Long)row[2]);
centroCusto.setGrupoPc((GrupoPc)session.oracleSession().load(GrupoPc.class, (Long)row[2]));
centroCustoS.add(centroCusto);
}
return centroCustoS;
}
A consulta está gerando o seguinte Erro:
select
centrocust0_.cod_centro_custo as col_0_0_,
upper(centrocust0_.descricao) as col_1_0_,
centrocust0_.cod_grupo_pc as col_2_0_
from
NBS.CENTRO_CUSTO centrocust0_
where
centrocust0_.cod_grupo_pc<>2
group by
centrocust0_.cod_centro_custo ,
centrocust0_.descricao ,
centrocust0_.cod_grupo_pc
order by
centrocust0_.descricao
[19/40/2011 05:40] WARN [http-bio-8080-exec-3] (JDBCExceptionReporter.java:233) - SQL Error: 17144, SQLState: null
[19/40/2011 05:40] ERROR [http-bio-8080-exec-3] (JDBCExceptionReporter.java:234) - handle de instrução não foi executado
19/10/2011 17:41:05 org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [default] in context with path [/epico] threw exception
br.com.caelum.vraptor.InterceptionException: exception raised, check root cause for details: org.hibernate.exception.GenericJDBCException: could not get next iterator result
at br.com.caelum.vraptor.interceptor.ExecuteMethodInterceptor.intercept(ExecuteMethodInterceptor.java:96)
at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
at br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:61)
at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
at br.com.brabus.epico.interceptor.AdmScope.intercept(AdmScope.java:34)
at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
at br.com.brabus.epico.interceptor.AdmRotina.intercept(AdmRotina.java:26)
at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
at br.com.caelum.vraptor.interceptor.ExceptionHandlerInterceptor.intercept(ExceptionHandlerInterceptor.java:71)
at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
at br.com.caelum.vraptor.interceptor.FlashInterceptor.intercept(FlashInterceptor.java:83)
at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
at br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:61)
at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
at br.com.caelum.vraptor.interceptor.InstantiateInterceptor.intercept(InstantiateInterceptor.java:48)
at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
at br.com.caelum.vraptor.interceptor.ResourceLookupInterceptor.intercept(ResourceLookupInterceptor.java:69)
at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56)
at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
at br.com.caelum.vraptor.core.EnhancedRequestExecution.execute(EnhancedRequestExecution.java:44)
at br.com.caelum.vraptor.VRaptor$1.insideRequest(VRaptor.java:92)
at br.com.caelum.vraptor.ioc.spring.SpringProvider.provideForRequest(SpringProvider.java:58)
at br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:89)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:964)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Aguem saberia como ajudar?
Abraços,
Jsign