Я уже использовал поиск здесь (и на других форумах), но не нашел точного ответа на то, что я пытаюсь сделать.
Я знаю, что это можно легко сделать другим способом, и это всего лишь небольшая песочница, которую я кодирую для университетского курса ... в реальной среде я бы просто взял Spring, Hibernate и т. Д.
Итак, я написал себе небольшой общий уровень доступа к данным с POJO, работая с универсальными методами для извлечения, проверки или вставки данных в базу данных (Oracle). Большая часть этого выполняется через PreparedStatements.
Это работает, пока у меня нет объединений ... можно ли указать столбец в качестве параметра?
Пример:
Table A has Attribute X + others
Table B has Attribute Y + others
PreparedStatement с запросом SELECT * FROM A,B WHERE "A"."X" = ?
А затем введите "B". "Y" в качестве параметра ...
База данных не выдает мне ошибки или исключения, но ResultSet
, возвращаемый после выполнения инструкции, пуст. Это просто невозможно сделать, или мне просто не хватает побега?
Я использую PreparedStatement.setString(int index, String value)
для заполнения параметра ... из-за отсутствия идей, какой другой метод setX я мог бы использовать ...
Опять же, в реальном проекте я бы никогда не кодировал это сам, а скорее использовал бы что-то вроде Spring или Hibernate и не изобретал бы колесо заново, но я считаю это интересным упражнением - самому написать такой общий небольшой уровень доступа к данным.