Jeśli długość CLOB jest wystarczająco mała ( <Integer.MAX_VALUE
) możesz wykonać następujące czynności:
clob.getSubString(1, (int) clob.length());
(Wystarczy spojrzeć na to pytanie )
EDYTUJ :
Kod przesłany w pytaniu powinien wyglądać następująco:
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);
Pamiętaj, że pętla w oryginalnym kodzie była całkowicie bezużyteczna, więc ją usunąłem.
Sprawdź również, że result[1]
to java.sql.Clob