[RESOLVIDO] Select em um campo CLOB

Bom dia Srs.

Tenho uma tabela q possui uma coluna CLOB.

Apos fazer um select * nesta tabela, e jogar para um ArrayList, o campo CLOB vem com o seguinte conteudo (oracle.sql.CLOB@140c0a3).

Alguem sabe como posso resolver isso para me retornar uma String com o conteudo da coluna CLOB?

Obrigado pessoal.
[]'s

Cara fiz um mapeamento para uma coluna BLOB no Oracle, veja se a solução atende a sua necessidade.

@Lob @Type(type = "org.hibernate.type.BinaryType") @Column(name = "ARQUIVO", length = Integer.MAX_VALUE) @Basic(fetch = FetchType.LAZY) private byte[] arquivo;

Abç!!

Obrigado gmeneses.

Porem minha Table não possiu uma Entity.

Só tenho um select em JDBC mesmo, e queria retornar um CLOB para uma String.

[]'s

Entendi, mas você precisa mesmo que esta consulta seja armazenada em um ArrayList?! Fiquei confuso sobre o por que desta estrutura para receber o SELECT, esta coluna armazena caracteres, certo?!.

Veja se esse post lhe ajuda >> http://www.guj.com.br/java/14004-manipular-campos-clob-no-oracle

Abç!

Fala gmeneses.
Sim, precisa ser em um ArrayList (Sistema legado, sabe como é hehe)

Mais resolvi meu problema usando esse metodo, que recebe um Clob e retorna uma String.

[code]import java.io.BufferedReader;
import java.io.IOException;
import java.sql.Clob;
import java.sql.SQLException;
public class ClobStringConversion {
public static String clobStringConversion(Clob clb) throws IOException, SQLException
{
if (clb == null)
return “”;

   StringBuffer str = new StringBuffer();
   String strng;
           
 
 BufferedReader bufferRead = new BufferedReader(clb.getCharacterStream());

   while ((strng=bufferRead .readLine())!=null)
    str.append(strng);

   return str.toString();
 }        

}[/code]

O unico problema agora, é q a message não veio com a endentação correta, mais deve ser coisa simples.
Obrigado.
[]'s

gmeneses.
No ultimo post que vc me passou, existe esse codigo, que funcionou perfeitamente no meu caso.
Ele converte de Clob para String, sem perder a formatação
Vlw!!

public String getValueStringCLOB(Clob clob){ String s = ""; int y = 0; try { y = (int) clob.length(); s = y > 0 ? clob.getSubString(1, y) : ""; } catch (Exception ex) { throw new ServletException(ex); } finally{ return s; } }

Abraço.

Blz brother, pra manter as boas práticas do Fórum, edite o nome do tópico acrescentando [RESOLVIDO].

Abç!!