GenericJDBCException: could not retrieve snapshot - Hibernate

1 resposta
K

Bom dia, estava em duvida em onde postar este topico, caso tenha colocado no lugar errado avisem-me.

Trabalho com Jboss 5.1.0 GA, Hibernate 3.3.1, CMT, e estou tendo problemas em persistir alguns mapeamentos com relacionamentos many-to-one. Geralmente o hibernate executa algumas queries internas e nesse momento esta gerando essa seguinte exceção:

1. 11:17:39,158 INFO  [STDOUT] Hibernate: select procedimen0_.cd_grupo as cd1_74_0_, procedimen0_.ds_grupo as ds2_74_0_, procedimen0_.dt_competencia as dt3_74_0_ from procedimento_grupo procedimen0_ where procedimen0_.cd_grupo=?  
   2. 11:17:39,162 INFO  [LongType] could not read column value from result set: cd7_16_; The result set is closed.  
   3. 11:17:39,163 WARN  [JDBCExceptionReporter] SQL Error: 0, SQLState: null  
   4. 11:17:39,164 ERROR [JDBCExceptionReporter] The result set is closed.  
   5. 11:17:39,165 ERROR [ksisolucoes] Erro ao salvar DAO Generico - ProntuarioEnfermagemItem.  
   6. br.com.ksisolucoes.dao.exception.DAOException: Erro ao salvar DAO Generico - ProntuarioEnfermagemItem.  
   7.         at br.com.ksisolucoes.dao._RootDAO.save(_RootDAO.java:95)  
   8.         at br.com.ksisolucoes.bo.command.SaveVO.save(SaveVO.java:74)  
   9.         at br.com.ksisolucoes.bo.command.SaveVO.execute(SaveVO.java:65)  
  10.         at br.com.ksisolucoes.command.AbstractCommand.start(AbstractCommand.java:43)  
  11.         at br.com.ksisolucoes.bo.basico.atividade.SaveAtividade.<init>(SaveAtividade.java:53)  
  12.         at br.com.ksisolucoes.bo.basico.AtividadeBO.save(AtividadeBO.java:35)  
  13.         at sun.reflect.GeneratedMethodAccessor361.invoke(Unknown Source)  
  14.         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)  
  15.         at java.lang.reflect.Method.invoke(Method.java:597)  
  16.         at org.jboss.aop.joinpoint.MethodInvocation.invokeTarget(MethodInvocation.java:122)  
  17.         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:111)  
  18.         at org.jboss.ejb3.EJBContainerInvocationWrapper.invokeNext(EJBContainerInvocationWrapper.java:69)  
  19.         at org.jboss.ejb3.interceptors.aop.InterceptorSequencer.invoke(InterceptorSequencer.java:73)  
  20.         at org.jboss.ejb3.interceptors.aop.InterceptorSequencer.aroundInvoke(InterceptorSequencer.java:59)  
  21.         at sun.reflect.GeneratedMethodAccessor304.invoke(Unknown Source)  
  22.         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)  
  23.         at java.lang.reflect.Method.invoke(Method.java:597)  
  24.         at org.jboss.aop.advice.PerJoinpointAdvice.invoke(PerJoinpointAdvice.java:174)  
  25.         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)  
  26.         at org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor.fillMethod(InvocationContextInterceptor.java:72)  
  27.         at org.jboss.aop.advice.org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor  
  28.       z_fillMethod_4247984.invoke(InvocationContextInterceptor_z_fillMethod_4247984.java)  
  29.         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)  
  30.         at org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor.setup(InvocationContextInterceptor.java:88)  
  31.         at org.jboss.aop.advice.org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor_z_  
  32.       setup_4247984.invoke(InvocationContextInterceptor_z_setup_4247984.java)  
  33.         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)  
  34.         at org.jboss.ejb3.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:62)  
  35.         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)  
  36.         at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:56)  
  37.         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)  
  38.         at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)  
  39.         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)  
  40.         at org.jboss.ejb3.tx.NullInterceptor.invoke(NullInterceptor.java:42)  
  41.         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)  
  42.         at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:68)  
  43.         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)  
  44.         at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79)  
  45.         at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:190)  
  46.         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)  
  47.         at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)  
  48.         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)  
  49.         at org.jboss.ejb3.tx.NullInterceptor.invoke(NullInterceptor.java:42)  
  50.         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)  
  51.         at org.jboss.ejb3.security.RoleBasedAuthorizationInterceptorv2.invoke(RoleBasedAuthorizationInterceptorv2.java:201)  
  52.         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)  
  53.         at org.jboss.ejb3.security.Ejb3AuthenticationInterceptorv2.invoke(Ejb3AuthenticationInterceptorv2.java:186)  
  54.         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)  
  55.         at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:41)  
  56.         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)  
  57.         at org.jboss.ejb3.BlockContainerShutdownInterceptor.invoke(BlockContainerShutdownInterceptor.java:67)  
  58.         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)  
  59.         at org.jboss.aspects.currentinvocation.CurrentInvocationInterceptor.invoke(CurrentInvocationInterceptor.java:67)  
  60.         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)  
  61.         at org.jboss.ejb3.stateless.StatelessContainer.dynamicInvoke(StatelessContainer.java:421)  
  62.         at org.jboss.ejb3.session.InvokableContextClassProxyHack._dynamicInvoke(InvokableContextClassProxyHack.java:53)  
  63.         at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:91)  
  64.         at org.jboss.aspects.remoting.AOPRemotingInvocationHandler.invoke(AOPRemotingInvocationHandler.java:82)  
  65.         at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:891)  
  66.         at org.jboss.remoting.transport.socket.ServerThread.completeInvocation(ServerThread.java:744)  
  67.         at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:697)  
  68.         at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:524)  
  69.         at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:232)  
  70. Caused by: br.com.ksisolucoes.dao.exception.DAOException: Erro ao salvar DAO Generico - ProntuarioEnfermagemItem.  
  71.         at br.com.ksisolucoes.dao._RootDAO.save(_RootDAO.java:162)  
  72.         at br.com.ksisolucoes.dao._RootDAO.save(_RootDAO.java:92)  
  73.         ... 60 more  
  74. Caused by: org.hibernate.exception.GenericJDBCException: could not retrieve snapshot:   
  75. [br.com.ksisolucoes.vo.prontuario.procedimento.ProcedimentoCompetencia#  
  76. component[procedimento,dataCompetencia]{dataCompetencia=2009-10-01 00:00:00,  
  77.  procedimento=br.com.ksisolucoes.vo.prontuario.procedimento.Procedimento#101020074}]  
  78.         at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:126)  
  79.         at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:114)  
  80.         at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)  
  81.         at org.hibernate.persister.entity.AbstractEntityPersister.getDatabaseSnapshot(AbstractEntityPersister.java:1075)  
  82.         at org.hibernate.engine.StatefulPersistenceContext.getDatabaseSnapshot(StatefulPersistenceContext.java:269)  
  83.         at org.hibernate.engine.ForeignKeys.isTransient(ForeignKeys.java:212)  
  84.         at org.hibernate.engine.ForeignKeys$Nullifier.isNullifiable(ForeignKeys.java:160)  
  85.         at org.hibernate.engine.ForeignKeys$Nullifier.nullifyTransientReferences(ForeignKeys.java:92)  
  86.         at org.hibernate.engine.ForeignKeys$Nullifier.nullifyTransientReferences(ForeignKeys.java:70)  
  87.         at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:311)  
  88.         at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:204)  
  89.         at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:144)  
  90.         at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedO  
  91.       rRequestedId(DefaultSaveOrUpdateEventListener.java:210)  
  92.         at org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:56)  
  93.         at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:195)  
  94.         at org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:50)  
  95.         at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93)  
  96.         at org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:562)  
  97.         at org.hibernate.impl.SessionImpl.save(SessionImpl.java:550)  
  98.         at org.hibernate.impl.SessionImpl.save(SessionImpl.java:546)  
  99.         at br.com.ksisolucoes.dao._RootDAO.save(_RootDAO.java:160)  
 100.         ... 61 more  
 101. Caused by: java.sql.SQLException: The result set is closed.  
 102.         at org.jboss.resource.adapter.jdbc.WrappedResultSet.checkState(WrappedResultSet.java:1959)  
 103.         at org.jboss.resource.adapter.jdbc.WrappedResultSet.getLong(WrappedResultSet.java:721)  
 104.         at org.hibernate.type.LongType.get(LongType.java:51)  
 105.         at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:184)  
 106.         at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:173)  
 107.         at org.hibernate.type.AbstractType.hydrate(AbstractType.java:105)  
 108.         at org.hibernate.type.ComponentType.hydrate(ComponentType.java:583)  
 109.         at org.hibernate.type.ComponentType.nullSafeGet(ComponentType.java:298)  
 110.         at org.hibernate.type.ManyToOneType.hydrate(ManyToOneType.java:126)  
 111.         at org.hibernate.persister.entity.AbstractEntityPersister.getDatabaseSnapshot(AbstractEntityPersister.java:1061)  
 112.         ... 78 more  
 113. 11:17:39,188 SEVERE [SaveAtividade]   
 114. br.com.ksisolucoes.dao.exception.DAOException: Erro ao salvar DAO Generico - ProntuarioEnfermagemItem.  
 115.         at br.com.ksisolucoes.dao._RootDAO.save(_RootDAO.java:95)  
 116.         at br.com.ksisolucoes.bo.command.SaveVO.save(SaveVO.java:74)  
 117.         at br.com.ksisolucoes.bo.command.SaveVO.execute(SaveVO.java:65)  
 118.         at br.com.ksisolucoes.command.AbstractCommand.start(AbstractCommand.java:43)  
 119.         at br.com.ksisolucoes.bo.basico.atividade.SaveAtividade.<init>(SaveAtividade.java:53)  
 120.         at br.com.ksisolucoes.bo.basico.AtividadeBO.save(AtividadeBO.java:35)  
 121.         at sun.reflect.GeneratedMethodAccessor361.invoke(Unknown Source)  
 122.         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)  
 123.         at java.lang.reflect.Method.invoke(Method.java:597)  
 124.         at org.jboss.aop.joinpoint.MethodInvocation.invokeTarget(MethodInvocation.java:122)  
 125.         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:111)  
 126.         at org.jboss.ejb3.EJBContainerInvocationWrapper.invokeNext(EJBContainerInvocationWrapper.java:69)  
 127.         at org.jboss.ejb3.interceptors.aop.InterceptorSequencer.invoke(InterceptorSequencer.java:73)  
 128.         at org.jboss.ejb3.interceptors.aop.InterceptorSequencer.aroundInvoke(InterceptorSequencer.java:59)  
 129.         at sun.reflect.GeneratedMethodAccessor304.invoke(Unknown Source)  
 130.         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)  
 131.         at java.lang.reflect.Method.invoke(Method.java:597)  
 132.         at org.jboss.aop.advice.PerJoinpointAdvice.invoke(PerJoinpointAdvice.java:174)  
 133.         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)  
 134.         at org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor.fillMethod(InvocationContextInterceptor.java:72)  
 135.         at org.jboss.aop.advice.org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor  
 136.       _z_fillMethod_4247984.invoke(InvocationContextInterceptor_z_fillMethod_4247984.java)  
 137.         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)  
 138.         at org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor.setup(InvocationContextInterceptor.java:88)  
 139.         at org.jboss.aop.advice.org.jboss.ejb3.interceptors.aop.InvocationContextIntercept  
 140.       or_z_setup_4247984.invoke(InvocationContextInterceptor_z_setup_4247984.java)  
 141.         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)  
 142.         at org.jboss.ejb3.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:62)  
 143.         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)  
 144.         at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:56)  
 145.         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)  
 146.         at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)  
 147.         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)  
 148.         at org.jboss.ejb3.tx.NullInterceptor.invoke(NullInterceptor.java:42)  
 149.         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)  
 150.         at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:68)  
 151.         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)  
 152.         at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79)  
 153.         at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:190)  
 154.         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)  
 155.         at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)  
 156.         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)  
 157.         at org.jboss.ejb3.tx.NullInterceptor.invoke(NullInterceptor.java:42)  
 158.         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)  
 159.         at org.jboss.ejb3.security.RoleBasedAuthorizationInterceptorv2.invoke(RoleBasedAuthorizationInterceptorv2.java:201)  
 160.         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)  
 161.         at org.jboss.ejb3.security.Ejb3AuthenticationInterceptorv2.invoke(Ejb3AuthenticationInterceptorv2.java:186)  
 162.         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)  
 163.         at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:41)  
 164.         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)  
 165.         at org.jboss.ejb3.BlockContainerShutdownInterceptor.invoke(BlockContainerShutdownInterceptor.java:67)  
 166.         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)  
 167.         at org.jboss.aspects.currentinvocation.CurrentInvocationInterceptor.invoke(CurrentInvocationInterceptor.java:67)  
 168.         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)  
 169.         at org.jboss.ejb3.stateless.StatelessContainer.dynamicInvoke(StatelessContainer.java:421)  
 170.         at org.jboss.ejb3.session.InvokableContextClassProxyHack._dynamicInvoke(InvokableContextClassProxyHack.java:53)  
 171.         at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:91)  
 172.         at org.jboss.aspects.remoting.AOPRemotingInvocationHandler.invoke(AOPRemotingInvocationHandler.java:82)  
 173.         at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:891)  
 174.         at org.jboss.remoting.transport.socket.ServerThread.completeInvocation(ServerThread.java:744)  
 175.         at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:697)  
 176.         at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:524)  
 177.         at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:232)  
 178. Caused by: br.com.ksisolucoes.dao.exception.DAOException: Erro ao salvar DAO Generico - ProntuarioEnfermagemItem.  
 179.         at br.com.ksisolucoes.dao._RootDAO.save(_RootDAO.java:162)  
 180.         at br.com.ksisolucoes.dao._RootDAO.save(_RootDAO.java:92)  
 181.         ... 60 more  
 182. Caused by: org.hibernate.exception.GenericJDBCException: could not retrieve snapshot:   
 183. [br.com.ksisolucoes.vo.prontuario.procedimento.ProcedimentoCompetencia#  
 184. component[procedimento,dataCompetencia]{dataCompetencia=2009-10-01 00:00:00,   
 185. procedimento=br.com.ksisolucoes.vo.prontuario.procedimento.Procedimento#101020074}]  
 186.         at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:126)  
 187.         at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:114)  
 188.         at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)  
 189.         at org.hibernate.persister.entity.AbstractEntityPersister.getDatabaseSnapshot(AbstractEntityPersister.java:1075)  
 190.         at org.hibernate.engine.StatefulPersistenceContext.getDatabaseSnapshot(StatefulPersistenceContext.java:269)  
 191.         at org.hibernate.engine.ForeignKeys.isTransient(ForeignKeys.java:212)  
 192.         at org.hibernate.engine.ForeignKeys$Nullifier.isNullifiable(ForeignKeys.java:160)  
 193.         at org.hibernate.engine.ForeignKeys$Nullifier.nullifyTransientReferences(ForeignKeys.java:92)  
 194.         at org.hibernate.engine.ForeignKeys$Nullifier.nullifyTransientReferences(ForeignKeys.java:70)  
 195.         at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:311)  
 196.         at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:204)  
 197.         at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:144)  
 198.         at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:210)  
 199.         at org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:56)  
 200.         at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:195)  
 201.         at org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:50)  
 202.         at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93)  
 203.         at org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:562)  
 204.         at org.hibernate.impl.SessionImpl.save(SessionImpl.java:550)  
 205.         at org.hibernate.impl.SessionImpl.save(SessionImpl.java:546)  
 206.         at br.com.ksisolucoes.dao._RootDAO.save(_RootDAO.java:160)  
 207.         ... 61 more  
 208. Caused by: java.sql.SQLException: The result set is closed.  
 209.         at org.jboss.resource.adapter.jdbc.WrappedResultSet.checkState(WrappedResultSet.java:1959)  
 210.         at org.jboss.resource.adapter.jdbc.WrappedResultSet.getLong(WrappedResultSet.java:721)  
 211.         at org.hibernate.type.LongType.get(LongType.java:51)  
 212.         at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:184)  
 213.         at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:173)  
 214.         at org.hibernate.type.AbstractType.hydrate(AbstractType.java:105)  
 215.         at org.hibernate.type.ComponentType.hydrate(ComponentType.java:583)  
 216.         at org.hibernate.type.ComponentType.nullSafeGet(ComponentType.java:298)  
 217.         at org.hibernate.type.ManyToOneType.hydrate(ManyToOneType.java:126)  
 218.         at org.hibernate.persister.entity.AbstractEntityPersister.getDatabaseSnapshot(AbstractEntityPersister.java:1061)  
 219.         ... 78 more

A impressão é que no momento em que o hibernate tenta fazer essas consultas ele não possui mais uma sessão. Estou utilizando a sessão fornecida pelo HibernateSessionFactory.getCurrentSession()

Ampliando um pouco a visão do problema

Alterei o banco do postgres para o oracle e o problema continua.
Tentei isolar o problema, criar um hbm apenas com o relacionamento que estão dando problema para garantir que nenhum outro campo ou relacionamento esta influenciando no erro, mas o erro continua.
Quando o hibernate gerencia o pool de conexões, ( Sem o JBoss ) funciona.

Ja fiz varios testes habilitando e desabilitando as propriedades hibernate.scrollable e outras relacionadas.

vou passar basicamente a estrutura dos mapeamentos

<class name="PEItem" table="atendimento_enfermagem_item" >
<composite-id class="PEItemPK" name="id">...</composite-id>
<many-to-one
class="br.com.ksisolucoes.vo.prontuario.procedimento.PCompetencia" not-null="false"
name="procedimentoCompetencia"
>
<column name="cd_procedimento" />
<column name="dt_competencia" />
</many-to-one>
</class>

<class name="PCompetencia" table="procedimento_competencia" >
<composite-id class="PCompetenciaPK" name="id">...</composite-id>
<many-to-one class="PFOrganizacao" name="procedimentoFormaOrganizacao" not-null="false" >
<column name="cd_grupo" />
<column name="cd_subgrupo" />
<column name="cd_forma_organizacao" />
</many-to-one>
</class>

<class name="PFOrganizacao" table="procedimento_forma_organizacao" >
<composite-id class="PFOrganizacaoPK" name="id">
<key-many-to-one class="PSubGrupo" name="procedimentoSubGrupo">-->
<column name="cd_grupo" />-->
<column name="cd_subgrupo" />-->
</key-many-to-one>-->

<key-property
column="cd_forma_organizacao"
name="codigo"
type="java.lang.Long"
/>
</composite-id>
</class>

<class name="PSubGrupo" table="procedimento_subgrupo" >
<composite-id class="PSubGrupoPK" name="id">
<key-many-to-one
class="PGrupo"
column="cd_grupo"
name="roGrupo"
>
</key-many-to-one>

<key-property
column="cd_subgrupo"
name="codigo"
type="java.lang.Long"
/>
</composite-id>
</class>

<class name="PGrupo" table="procedimento_grupo" >
<id
name="codigo"
type="java.lang.Long"
column="cd_grupo"
>
<generator class="assigned" />
</id>
</class>

Descrevendo brevemente a ligação entre eles, PEItem tem um relacionamento com PCompetencia que tem um relacionamento com PFOrganizacao que possui um relacionamento na PK com PSubGrupo que possui um relacionamento na PK com PGrupo.

Quando eu carrego o primeiro nivel de PEItem, e mando salvar ou atualizar, o hibernate faz uma consulta em cima da proprioa tabela PEItem, depois em PCompetencia e depois em PGrupo

Hibernate: select procedimen_.cd_procedimento, procedimen_.dt_competencia, procedimen_.cd_financiamento as cd3_539_, procedimen_.cd_rubrica as cd4_539_, procedimen_.cd_grupo as cd5_539_, procedimen_.cd_subgrupo as cd6_539_, procedimen_.cd_forma_
organizacao as cd7_539_, procedimen_.tp_complexidade as tp8_539_, procedimen_.tp_sexo as tp9_539_, procedimen_.qt_maxima_execucao as qt10_539_, procedimen_.qt_dias_permanencia as qt11_539_, procedimen_.qt_pontos as qt12_539_, procedimen_.vl_idade_minima as vl13_539_, procedimen_.vl_idade_maxima as vl14_539_, procedimen_.vl_sh as vl15_539_, procedimen_.vl_sa as vl16_539_, procedimen_.vl_sp as vl17_539_, procedimen_.utilizado as utilizado539_ from procedimento_competencia procedimen_ where procedimen_.cd_procedimento=? and procedimen_.dt_competencia=?

Hibernate: select procedimen0_.cd_grupo as cd1_648_0_, procedimen0_.ds_grupo as ds2_648_0_, procedimen0_.dt_competencia as dt3_648_0_ from procedimento_grupo procedimen0_ where procedimen0_.cd_grupo=?

e então ocorre o erro do result set. Curiosidade: se coloco um relacionamento key-many-to-one no hbm de PFOrganizacao direto em PGrupo e coloco o key-property para o codigo do subgrupo, para evitar o relacionamento com PSubGrupo faz os mesmo selects quando mando persistir porem não da o erro.
Parece algo relacionado com niveis de relacionamentos many-to-one.

Desculpem o volume de informação, mas já postei em outro forum sem sucesso…

Agradeço a atenção

1 Resposta

braian

Também estou com o mesmo problema. Alguém pode responder por favor??

Criado 17 de dezembro de 2009
Ultima resposta 29 de jan. de 2010
Respostas 1
Participantes 2