Måske kunne du bruge
DatabaseMetaData databaseMetaData = connection.getMetaData();
databaseMetaData.getColumns(null, null, tableName, "%");
Den returnerer én række for hver tabelkolonne.
I dette tilfælde skal du bruge det returnerede ResultSet
sig selv, ikke dens ResultSetMetaData
.
En fordel ved denne tilgang er, at den ikke forstyrrer databaselåsning og transaktioner.