Усложнявате нещата.
Използвайте PreparedStatement и addBatch() за всеки клон във вашия списък:
String sql = "insert into " + tempTableName + " values (?)";
PreparedStatement stmt = connection.prepareStatement(sql);
for (String query : readQueries) {
stmt.setCharacterStream(1, new StringReader(query), query.lenght());
stmt.addBatch();
}
stmt.exececuteBatch();
Без да се забърквате с избягващите низове, няма проблем с дължината на литералите, няма нужда да създавате временни клапсове. И най-вероятно също толкова бързо, колкото използването на един израз INSERT ALL.
Ако използвате текущ драйвер (> 10.2), тогава мисля, че извикването setCharacterStream() и създаването на Reader също не са необходими. Прост setString(1, query)
най-вероятно също ще работи.