Peut-être pourriez-vous utiliser
DatabaseMetaData databaseMetaData = connection.getMetaData();
databaseMetaData.getColumns(null, null, tableName, "%");
Il renvoie une ligne pour chaque colonne du tableau.
Dans ce cas, vous utiliseriez le ResultSet
renvoyé lui-même, pas son ResultSetMetaData
.
L'un des avantages de cette approche est qu'elle n'interfère pas avec le verrouillage et les transactions de la base de données.