Я пытаюсь использовать вложенные запросы с JdbcTemplate, но обнаружил проблему, мне кажется, что она не поддерживает вложенные запросы. Я прав?или что мне нужно изменить?
Итак, я вызываю
getJdbcTemplate().query(request, new Object[]{name}...)
// request is query which you can see in error message
, который дает результаты в оракуле, но не удается с
org.springframework.jdbc.InvalidResultSetAccessException: PreparedStatementCallback;недопустимый доступ ResultSet для SQL [выберите имя sq.name в качестве имени (выберите имя t1.name в качестве имени из таблицы1 t1 левого внешнего объединения таблиц2 t2 для t2.id = t1.fk_id, где t1.name не является нулевым) sq, где верхний(имя) как верхний ('?')] ;вложенным исключением является java.sql.SQLException: недопустимый индекс столбца
EDITED
запрос - это простой объект String, который на самом деле представляет собой sql, который вы видите в сообщении об исключении.Объект eturn не имеет значения в этой ситуации, так как я оставил его пустым (для проверки нашего предложения)
, но только для вас, чтобы быть уверенным, что он здесь:
List<MyObject> list = getJdbcTemplate().query(request, new Object[]{"Somename"}, new RowMapper() {
public Object mapRow(ResultSet rs, int rowNum) throws SQLException {
return new MyObject();
}
});