通过 RowMapper 上的 resultSet 获取当前 table 的名称

Get name of current table by resultSet on RowMapper

可以在 RowMapper 的实现中获取当前 table 的名称。 我尝试使用元数据,但没有成功

您可以尝试通过

来确定 table 名称
 ResultSet.getMetaData().getTableName(int column)

由于 ResultSet 和 ResultSetMetaData 都只是接口,具体实现取决于您使用的数据库驱动程序。

因此,如果此方法未提供 table名称:

  • 驱动程序实现不支持它。
  • 该列没有 table 关联(例如 select sysdate ...)

例如当前的 oracle 数据库驱动程序不支持它。

对于 H2,检查 http://www.h2database.com/html/features.html ,它根据 selected 兼容模式描述了 getTableName() 的行为。