SpringS ResultsSetExtractor для оператора внутреннего соединения SQL

Я пытаюсь использовать ResultSetExtractor для отправки оператора SQL в базу данных, но метод застревает на линии l.setId(resultSet.getInt("Id"));,

Это мое сообщение об ошибке:

"message": "PreparedStatementCallback; исключение SQLEx для категории SQL [SELECT Cities.Name ИЗ городов INNER JOIN Примечания к Cities.Id = Notes.CitiesId WHERE Notes.CitiesId =? AND Notes.id =?]; состояние SQL [S0022]; ошибка SQL код [0]; столбец 'Id' не найден; вложенное исключение: java.sql.SQLException: столбец 'Id' не найден.",

Cities таблица имеет 3 столбца Id, Name, а также Code, Я проверил свой оператор SQL в Workbench, и это правильно. Что не так с моим кодом?

 public List<Cities> GetCity(String CityId, String NoteId) {

        final String sql = "SELECT Cities.Name FROM cities INNER JOIN Notes on Cities.Id = Notes.CitiesId WHERE Notes.CitiesId = ? AND Notes.id = ?";

        final List<Cities> cityList = jdbcTemplate.query(sql, new ResultSetExtractor<List<Cities>>() {

            @Override
            public List<Cities> extractData(ResultSet resultSet) throws SQLException, DataAccessException {
                List<Cities> list = new ArrayList<Cities>();

                while (resultSet.next()) {
                    Cities l = new Cities();
                    l.setId(resultSet.getInt("Id"));
                    l.setName(resultSet.getString("Name"));
                    l.setCode(resultSet.getString("Code"));
                    list.add(l);
                }

                System.out.println(list);
                return list;
            }
        }, CityId, NoteId);
        return cityList;
    }

0 ответов

Другие вопросы по тегам