Pokud je délka CLOB dostatečně malá ( <Integer.MAX_VALUE
) můžete provést následující:
clob.getSubString(1, (int) clob.length());
(Stačí se podívat na tato otázka )
UPRAVIT:
Kód, který jste odeslali ve své otázce, by měl být:
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);
Vezměte prosím na vědomí, že smyčka ve vašem původním kódu byla absolutně k ničemu, takže jsem ji odstranil.
Zkontrolujte také tento result[1]
je java.sql.Clob