Получение имен таблиц из ResultSetMetaData - это то, что большинство JDBC-драйверов СУБД (Oracle, DB2, ...) не реализуют, поскольку во многих ситуациях спецификация не определяет, что должно быть возвращено - например, в случае представлений (view-name или base-table-name), наличия псевдонимов (table-alias или real table-name), результатов функций, которые принимают несколько параметров или не имеют их и т. д.
Так что я боюсь, что нет способа получить то, что вы хотите для большинства СУБД, реже всего независимо от СУБД.