Ако дължината на CLOB е достатъчно малка ( <Integer.MAX_VALUE
) можете да направите следното :
clob.getSubString(1, (int) clob.length());
(Просто погледнете този въпрос )
РЕДАКТИРАНЕ:
Кодът, който изпратихте във вашия въпрос, трябва да стане:
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);
Моля, имайте предвид, че цикълът във вашия оригинален код беше абсолютно безполезен, затова го премахнах.
Проверете и този result[1]
е java.sql.Clob