Java我怎么知道指定列的表名?

package org.nhooo.example.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;

public class TableNameOfColumnExample {
    private static final String URL = "jdbc:mysql://localhost/nhooo";
    private static final String USERNAME = "root";
    private static final String PASSWORD = "";

    public static void main(String[] args) {
        try (Connection connection =
                 DriverManager.getConnection(URL, USERNAME, PASSWORD)) {

            Statement statement = connection.createStatement();
            String query = "SELECT a.id, a.quantity, a.price, c.name "
                + "FROM order_details a "
                + "LEFT JOIN orders b ON a.order_id = b.id "
                + "LEFT JOIN products c on a.product_id = c.id";
            ResultSet resultSet = statement.executeQuery(query);

            // 这里我们有一个使用多个表的查询,然后我们想要
            //知道列属于哪个表。在里面
            // ResultSetMetaData有一个getTableName()方法,可以
            // 做这个功能。
            ResultSetMetaData metadata = resultSet.getMetaData();

            String tableName = metadata.getTableName(1);
            System.out.println("Table name of column `a.id` = " + tableName);

            tableName = metadata.getTableName(4);
            System.out.println("Table name of column `c.name` = " + tableName);
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

Maven依赖

<!-- https://search.maven.org/remotecontent?filepath=mysql/mysql-connector-java/8.0.17/mysql-connector-java-8.0.17.jar -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.17</version>
</dependency>

Maven中央