Я нашел SQL-запрос в некотором коде Java, который выглядит следующим образом:
SELECT * FROM tableA JOIN tableB ON ...
И tableA
, и tableB
содержат поле с именем id
и код Java, который выполняет этот запросэто:
Integer id = (Integer)rs.getObject("id");
Есть ли в спецификации JDBC что-нибудь сказать о том, какое значение поля будет возвращено?Я не смог найти ничего, что говорит так или иначе.Я вижу, что некоторые базы данных выдают ошибку , но MySQL / MariaDB (база данных используется здесь) не жалуются, и возвращаемое значение кажется tableA.id
, или "крайним левым" полем с именем "id ".
Я спрашиваю, есть ли определенное поведение в этом случае, или это зависит от базы данных и / или драйвера JDBC, чтобы решить, как себя вести.
Нет необходимостискажем, я исправлю это, чтобы оно работало предсказуемо и однозначно, пока я смотрю на код, но мне любопытно узнать ответ.