なぜそれを「通常の」方法と呼ぶのかわかりませんが、私にとっては次のように機能します。
更新する前にデータを取得する必要はありません。
String value = "So long and thanks for all the fish";
StringReader reader = new StringReader(value);
pStmt = conn.prepareStatement("UPDATE PROGRAM_HISTORY SET DETAILS = ? WHERE ID = 12");
pStmt.setCharacterStream(1, reader, value.length());
pStmt.executeUpdate();