Java getMetaData()或getString()不会在SQL查询中侦听别名

时间:2018-05-15 13:17:28

标签: java jdbc

getMetaData()或getString()函数不会侦听我的SQL查询中给出的别名。 SQL查询成功执行。

这是我的查询的一部分:SELECT o.id as o_id, o.package_id as o_package_id, o.client_id as o_client_id, o.reciever_id as o_reciever_id,

resultSet.getString(fieldname)仅适用于idpackage_idclient_id等,但不适用于o.ido.package_id,{ {1}},或我在查询o.client_ido_ido_package_id中提供的字段名称。

这会导致问题,我有一个带有双字段名称的多个JOIN查询。

如何通过别名获取数据?

1 个答案:

答案 0 :(得分:3)

它与JConnector有关。 强制驱动程序URL将useOldAliasMetadataBehavior设为true(在v5.1.6中默认值为false)

应该是这样的:

url = "jdbc:mysql://localhost:3306/mydb?useOldAliasMetadataBehavior=true"