Hibernate - Problemas com campo Text

3 respostas
zepunk

Bom dia pessoal.
Uma tabela do banco de dados tem uma coluna que é do tipo Text, e quando faço o mapeamento ele da problema no atributo que referencia esse campo.
Porém quando eu não faço o mapeamento desta coluna fuinciona normalmente.
Estou utilizando Sql Server.
Alguém tem uma dica para este problema ?

Obrigado.

3 Respostas

zepunk

Segue o erro que é lançado.

Exception in thread "main" org.hibernate.exception.GenericJDBCException: could not load an entity: [br.com.conseda.autorisco.model.Veiculo#165]
	at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103)
	at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91)
	at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
	at org.hibernate.loader.Loader.loadEntity(Loader.java:1799)
	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:47)
	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:41)
	at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:2730)
	at org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:365)
	at org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:346)
	at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:123)
	at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:82)
	at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:862)
	at org.hibernate.impl.SessionImpl.immediateLoad(SessionImpl.java:820)
	at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:62)
	at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:98)
	at org.hibernate.proxy.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:158)
	at br.com.conseda.autorisco.model.Veiculo$$EnhancerByCGLIB$$7c359353.getRestricoes(<generated>)
	at br.com.conseda.test.Teste.main(Teste.java:28)
Caused by: java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]ResultSet can not re-read row data for column 24.
	at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
	at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
	at com.microsoft.jdbc.base.BaseResultSet.validateColumnIndex(Unknown Source)
	at com.microsoft.jdbc.base.BaseResultSet.getString(Unknown Source)
	at com.microsoft.jdbc.base.BaseResultSet.getString(Unknown Source)
	at org.hibernate.type.StringType.get(StringType.java:18)
	at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:113)
	at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:102)
	at org.hibernate.type.AbstractType.hydrate(AbstractType.java:81)
	at org.hibernate.persister.entity.AbstractEntityPersister.hydrate(AbstractEntityPersister.java:1899)
	at org.hibernate.loader.Loader.loadFromResultSet(Loader.java:1372)
	at org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:1300)
	at org.hibernate.loader.Loader.getRow(Loader.java:1197)
	at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:569)
	at org.hibernate.loader.Loader.doQuery(Loader.java:689)
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
	at org.hibernate.loader.Loader.loadEntity(Loader.java:1785)
	... 14 more
zepunk
12:49:17,656  INFO SessionFactoryObjectFactory:82 - Not binding factory to JNDI, no JNDI name configured
Hibernate: select veiculo0_.IDCONSULTA as IDCONSULTA0_3_, veiculo0_.Chassi as Chassi0_3_, veiculo0_.ResultadoConsultaExposta as Resultad3_0_3_, veiculo0_.StatusAtual as StatusAt4_0_3_, veiculo0_.AnoFabricacao as AnoFabri5_0_3_, veiculo0_.AnoModelo as AnoModelo0_3_, veiculo0_.Combustivel as Combusti7_0_3_, veiculo0_.Cor as Cor0_3_, veiculo0_.Marca as Marca0_3_, veiculo0_.Modelo as Modelo0_3_, veiculo0_.Placa as Placa0_3_, veiculo0_.Renavam as Renavam0_3_, veiculo0_.UFPlaca as UFPlaca0_3_, veiculo0_.Veiculo as Veiculo0_3_, debitos1_.IDCONSULTA as IDCONSULTA5_, debitos1_.IdVeiculoDebito as IdVeicul1_5_, debitos1_.IdVeiculoDebito as IdVeicul1_1_0_, debitos1_.IDCONSULTA as IDCONSULTA1_0_, debitos1_.ValorDpvat as ValorDpvat1_0_, debitos1_.ValorIpva as ValorIpva1_0_, debitos1_.ValorLicenciamento as ValorLic4_1_0_, debitos1_.ValorMultas as ValorMul5_1_0_, importacao2_.IDCONSULTA as IDCONSULTA2_1_, importacao2_.Chassi as Chassi2_1_, importacao2_.Placa as Placa2_1_, importacao2_.Empresa as Empresa2_1_, veiculo3_.IDCONSULTA as IDCONSULTA0_2_, veiculo3_.Chassi as Chassi0_2_, veiculo3_.ResultadoConsultaExposta as Resultad3_0_2_, veiculo3_.StatusAtual as StatusAt4_0_2_, veiculo3_.AnoFabricacao as AnoFabri5_0_2_, veiculo3_.AnoModelo as AnoModelo0_2_, veiculo3_.Combustivel as Combusti7_0_2_, veiculo3_.Cor as Cor0_2_, veiculo3_.Marca as Marca0_2_, veiculo3_.Modelo as Modelo0_2_, veiculo3_.Placa as Placa0_2_, veiculo3_.Renavam as Renavam0_2_, veiculo3_.UFPlaca as UFPlaca0_2_, veiculo3_.Veiculo as Veiculo0_2_ from tblVeiculo veiculo0_ left outer join tblVeiculoDebito debitos1_ on veiculo0_.IDCONSULTA=debitos1_.IDCONSULTA left outer join tblImportacao importacao2_ on veiculo0_.IDCONSULTA=importacao2_.IDCONSULTA left outer join tblVeiculo veiculo3_ on importacao2_.IDCONSULTA=veiculo3_.IDCONSULTA where veiculo0_.IDCONSULTA=?
12:49:18,156  INFO StringType:132 - could not read column value from result set: Chassi2_1_; [Microsoft][SQLServer 2000 Driver for JDBC]ResultSet can not re-read row data for column 24.
12:49:18,171  WARN JDBCExceptionReporter:71 - SQL Error: 0, SQLState: HY010
12:49:18,171 ERROR JDBCExceptionReporter:72 - [Microsoft][SQLServer 2000 Driver for JDBC]ResultSet can not re-read row data for column 24.
12:49:18,187  INFO DefaultLoadEventListener:95 - Error performing load command
org.hibernate.exception.GenericJDBCException: could not load an entity: [br.com.conseda.autorisco.model.Veiculo#165]
	at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103)
	at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91)
	at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
	at org.hibernate.loader.Loader.loadEntity(Loader.java:1799)
	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:47)
	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:41)
	at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:2730)
	at org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:365)
	at org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:346)
	at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:123)
	at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:82)
	at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:862)
	at org.hibernate.impl.SessionImpl.immediateLoad(SessionImpl.java:820)
	at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:62)
	at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:98)
	at org.hibernate.proxy.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:158)
	at br.com.conseda.autorisco.model.Veiculo$$EnhancerByCGLIB$$b2e8f2e2.getChassi(<generated>)
	at br.com.conseda.test.Teste.main(Teste.java:29)
Caused by: java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]ResultSet can not re-read row data for column 24.
	at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
	at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
	at com.microsoft.jdbc.base.BaseResultSet.validateColumnIndex(Unknown Source)
	at com.microsoft.jdbc.base.BaseResultSet.getString(Unknown Source)
	at com.microsoft.jdbc.base.BaseResultSet.getString(Unknown Source)
	at org.hibernate.type.StringType.get(StringType.java:18)
	at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:113)
	at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:102)
	at org.hibernate.type.AbstractType.hydrate(AbstractType.java:81)
	at org.hibernate.persister.entity.AbstractEntityPersister.hydrate(AbstractEntityPersister.java:1899)
	at org.hibernate.loader.Loader.loadFromResultSet(Loader.java:1372)
	at org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:1300)
	at org.hibernate.loader.Loader.getRow(Loader.java:1197)
	at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:569)
	at org.hibernate.loader.Loader.doQuery(Loader.java:689)
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
	at org.hibernate.loader.Loader.loadEntity(Loader.java:1785)
	... 14 more
Lags

Cara,
Deve ser que a sua listagem está apontando para um registro que não existe mais na tabela.

Criado 4 de janeiro de 2007
Ultima resposta 25 de fev. de 2010
Respostas 3
Participantes 2