Hibernate com campos blob do oracle [Resolvido]

Olá pessoal,

Eu utilizava o hibernate+firebird, agora estou migrando para o oracle 10g EX.

No firebird eu conseguia manipular normalmente os campos blob, porém, no oracle não estou conseguindo. Vi na net em posts antigos (06/07) que isso era um problema do oracle.

Isso ainda é um problema na versão 10g EX?

Alguem sabe como resolver?

Grato.

Alguém sabe?

seja mais específico e apresente o erro…

Os campos BLOB do Firebird são armazenados como texto (funciona perfeitamente), já no Oracle são bytes[].

Ocorre que quando utilizo o Oracle nenhuma informação é exibida no JSF. Tentei anotar a propriedade com @Lob, nesse caso apareceram caracteres estranhos.

Esse é o problema!

Vi na internet em posts antigos que havia um problema no driver do oracle, mas são posts de 2006/2007.

Gostaria de saber se isso ainda não foi corrigido ou se tem algum procedimento que eu devo fazer.

Vlw

Os caracteres estranhos que refere não são os bytes armazenados e exibidos de tal forma?

Acredito que sim!

Você sabe qual o procedimento para ler corretamente os bytes?

Há formas de exibir dependendo do tipo de elemento que os bytes representam.
Você quer exibir uma imagem armazenada como blob em uma página?

Somente texto!

São campos onde o usuário precisa digitar a descrição completa do produto.

Olá pessoal,

Ainda estou enrolado com esse caso de ler e gravar em campos Blob(Oracle) utilizado o Hibernate.

Alguem sabe como fazer isso?

Obrigado

Problema resolvido!

Se a intenção é armazenar somente texto, utilize CLOB ao invés de BLOB.

A diferença entre os subtipos BLOB, CLOB e NCLOB é que o tipo BLOB guarda informação do tipo RAW, já os tipos CLOB e NCLOB guardam caracteres.

RAW
O tipo RAW guarda dados binários ou strings de bytes como caracteres gráficos ou imagens digitalizadas.
O tipo RAW requer um parâmetro que especifica o seu tamanho máximo.
PL/SQL não interpreta tipos RAW. Se um tipo RAW for transmitido de um sistema para outro, não haverá conversão de tipos de caracteres.
O tamanho máximo permitido para o tipo é de 32767 bytes. Entretanto uma coluna do tipo RAW só pode guardar até 2000 bytes.

Faça assim no seu bean:

@Lob
private String descricao;

E gere os getters e setters normalmente.

Abraços