多分あなたは
を使うことができますDatabaseMetaData databaseMetaData = connection.getMetaData();
databaseMetaData.getColumns(null, null, tableName, "%");
テーブルの列ごとに1行を返します。
この場合、返されたResultSetを使用します ResultSetMetaDataではなくそれ自体 。
このアプローチの利点の1つは、データベースのロックとトランザクションに干渉しないことです。