¿La solución más eficiente para leer CLOB a String y String to CLOB en Java?

Tengo un gran CLOB (más de 32kB) que quiero leer en una cadena, usando StringBuilder. ¿Cómo hago esto de la manera más eficiente? No puedo usar el constructor "int length" para StringBuilder ya que la longitud de mi CLOB es más larga que un "int" y necesita un valor "largo".

No estoy tan cómodo con las clases de Java I / O, y me gustaría obtener alguna orientación.

Editar - He intentado con este código para clobToString ():

private String clobToString(Clob data) {
    StringBuilder sb = new StringBuilder();
    try {
        Reader reader = data.getCharacterStream();
        BufferedReader br = new BufferedReader(reader);

        String line;
        while(null != (line = br.readLine())) {
            sb.append(line);
        }
        br.close();
    } catch (SQLException e) {
        // handle this exception
    } catch (IOException e) {
        // handle this exception
    }
    return sb.toString();
}

Respuestas a la pregunta(11)

Su respuesta a la pregunta