sql >> Database >  >> RDS >> Oracle

Object converteren naar CLOB

Als de lengte van de CLOB klein genoeg is ( <Integer.MAX_VALUE ) kunt u het volgende doen:

clob.getSubString(1, (int) clob.length());

(Kijk maar eens naar deze vraag )

BEWERK:

De code die u in uw vraag heeft ingediend, moet worden:

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);

Houd er rekening mee dat de lus in je originele code absoluut nutteloos was, dus heb ik hem verwijderd.

Controleer ook of result[1] is een java.sql.Clob



  1. Impact van uitvoeringsplan op ASYNC_NETWORK_IO Wachten - Deel 1

  2. mysql tijd vergelijking

  3. Hoe u updates van een tabel kunt voorkomen, met een uitzondering voor één situatie?

  4. PostgreSQL- Filter een datumbereik