Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Convertendo objeto para CLOB


Se o comprimento do CLOB for pequeno o suficiente ( <Integer.MAX_VALUE ) você pode fazer o seguinte:
clob.getSubString(1, (int) clob.length());

(Basta dar uma olhada em esta pergunta )

EDITAR:

O código que você enviou em sua pergunta deve se tornar:
String sql = "select id, data from mytable";
List< Object[] > results = getEntityManager().createNativeQuery(sql).getResultList();
Map< Long, String > map = new HashMap<>();
Clob clob = (Clob)result[1];
String value = clob.getSubString(1, (int) clob.length());
map.put(((Number) result[0]).longValue(), value);

Observe que o loop em seu código original era absolutamente inútil, então eu o removi.

Verifique também se result[1] é um java.sql.Clob