Problemas usando Hibernate com Oracle e LONG RAW data type [RESOLVIDO]

6 respostas
A

Alguem sabe como posso resolver este problema? Não é possível carregar o objeto do banco oracle. A seguinte mesagem é mostrada:

Caused by: net.sf.hibernate.exception.GenericJDBCException: could not initialize collection: [br.ufmg.dcc.synergia.sil.ri.entidade.relatorio.LeiauteAbstrato.subLeiautes#162485ca04d4262e0104d4292b940001]

at net.sf.hibernate.exception.ErrorCodeConverter.handledNonSpecificException(ErrorCodeConverter.java:90)

at net.sf.hibernate.exception.ErrorCodeConverter.convert(ErrorCodeConverter.java:79)

at net.sf.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:29)

at net.sf.hibernate.collection.AbstractCollectionPersister.convert(AbstractCollectionPersister.java:728)

at net.sf.hibernate.collection.AbstractCollectionPersister.initialize(AbstractCollectionPersister.java:291)

at net.sf.hibernate.impl.SessionImpl.initializeCollection(SessionImpl.java:3315)

at net.sf.hibernate.collection.PersistentCollection.forceInitialization(PersistentCollection.java:336)

at net.sf.hibernate.impl.SessionImpl.initializeNonLazyCollections(SessionImpl.java:3168)

at net.sf.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:143)

at net.sf.hibernate.loader.Loader.doList(Loader.java:1063)

at net.sf.hibernate.loader.Loader.list(Loader.java:1054)

at net.sf.hibernate.loader.CriteriaLoader.list(CriteriaLoader.java:118)

at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:3660)

at net.sf.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:238)

at net.sf.hibernate.impl.CriteriaImpl.uniqueResult(CriteriaImpl.java:385)

at br.ufmg.dcc.synergia.sil.persistencia.AdaptadorSessaoBD_SIL.recuperarObjeto(AdaptadorSessaoBD_SIL.java:216)

 10 more

Caused by: java.sql.SQLException: Stream has already been closed

at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)

at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)

at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:269)

at oracle.jdbc.dbaccess.DBDataSetImpl.getStreamItem(DBDataSetImpl.java:1572)

at oracle.jdbc.driver.OracleStatement.getBinaryStreamValue(OracleStatement.java:5396)

at oracle.jdbc.driver.OracleResultSetImpl.getBinaryStream(OracleResultSetImpl.java:720)

at oracle.jdbc.driver.OracleResultSet.getBinaryStream(OracleResultSet.java:1662)

at net.sf.hibernate.type.BinaryType.get(BinaryType.java:36)

at net.sf.hibernate.type.NullableType.nullSafeGet(NullableType.java:62)

at net.sf.hibernate.type.NullableType.nullSafeGet(NullableType.java:53)

at net.sf.hibernate.type.AbstractType.hydrate(AbstractType.java:67)

at net.sf.hibernate.loader.Loader.hydrate(Loader.java:690)

at net.sf.hibernate.loader.Loader.loadFromResultSet(Loader.java:631)

at net.sf.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:590)

at net.sf.hibernate.loader.Loader.getRow(Loader.java:505)

at net.sf.hibernate.loader.Loader.getRowFromResultSet(Loader.java:218)

at net.sf.hibernate.loader.Loader.doQuery(Loader.java:285)

at net.sf.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:138)

at net.sf.hibernate.loader.Loader.loadCollection(Loader.java:1020)

at net.sf.hibernate.loader.Loader.loadCollection(Loader.java:995)

at net.sf.hibernate.loader.OneToManyLoader.initialize(OneToManyLoader.java:93)

at net.sf.hibernate.collection.AbstractCollectionPersister.initialize(AbstractCollectionPersister.java:288)

 21 more

6 Respostas

A

Eu estou preocupado com este problema. Alguem tem alguma idéia?

boaglio

Long raw é um antigo datatype do Oracle 7 que vem nas novas versões apenas por compatibilidade.

Já pensou em migrar isso para um datatype melhor (maior e mais rápido) como o BLOB?

A

Vaou tentar a implementação em BLOB. Tem algum exêmplo de como escrever byte[] para o Blob?

boaglio

Tente esse aqui ou busque nos fórums do Hibernate.

Na próxima vez use as tags Code para ilustrar mensagens de erro.

A

valeu.

V

Amigo, estou alocado em um cliente que utiliza ORACLE 7 e precisam de utilizar IMAGENS no Banco, porem já me avisaram que LONGRAW dá muito problema com hibernate.

Como você parece ter resolvido o seu, gostaria de saber como resolveu !!! Pode ser ?

Utilizou outro tipo de dados ? CLOB ?

Um forte abraço

vimieiro

Criado 4 de julho de 2005
Ultima resposta 18 de jan. de 2010
Respostas 6
Participantes 3