Problemas mapemento Hibernate com Oracle e LONG RAW data type

1 resposta
C

Pessoal estou efetuando o mapeamento no Hibernate de um tabela do oracle10g, porém tem um campo do tipo LONG RAW. O problema é que este campo é utilizado em outro sistema e não posso modificar o tipo no banco de dados.

Procurei mas não achei nenhuma solução que não fosse para trocar o tipo de campo para BLOB.

Outra solução para mim seria alguma forma de ignorar este campo no meu mapeamento de forma que o hibernate não reclame, até porque esta classe só irei utilizar para consulta e não preciso deste campo.

Abaixo o erro apresentado:

Exception in thread "main" javax.persistence.PersistenceException: [PersistenceUnit: pu] Unable to build EntityManagerFactory
	at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:677)
	at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:126)
	at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:83)
	at br.com.xxxx.sim.server.Sim.main(Sim.java:21)
Caused by: org.hibernate.HibernateException: Wrong column type in SCHEMA.TABELA for column LOGOTIPO. Found: long, expected: raw(255)
	at org.hibernate.mapping.Table.validateColumns(Table.java:261)
	at org.hibernate.cfg.Configuration.validateSchema(Configuration.java:1089)
	at org.hibernate.tool.hbm2ddl.SchemaValidator.validate(SchemaValidator.java:116)
	at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:317)
	at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1300)
	at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:867)
	at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:669)
	... 3 more

Tentei utilizar a ferramenta do Hibernate para fazer a engenharia reversa e ele criou o campo como byte[]:

Obrigado pela atenção.

1 Resposta

juniorsatanas

REsolveu ?

To com o mesmo problema, até acho que é a mesma tabela !

ahhahaha

Criado 12 de janeiro de 2010
Ultima resposta 3 de jul. de 2012
Respostas 1
Participantes 2