2017-01-18 4 views
1

Я вызываю метод ниже, передавая значение a.Jdbctemplate queryforObject: EmptyResultDataAccessException: неверный размер результата: ожидается 1, актуально 0

public Sample get(String a) { 
    return jdbcTemplate.queryForObject(SQL, new Object[] { a }, rowMapper); 
} 

На выполнить из ниже метода queryForObject, он бросает исключение

"EmptyResultDataAccessException: Неправильный размер результат: ожидается, 1, 0 фактическое" значение и массив объектов быть нулевым. public T queryForObject (String sql, Object [] args, RowMapper rowMapper) throws DataAccessException { Список результатов = запрос (sql, args, новый RowMapperResultSetExtractor (rowMapper, 1)); return DataAccessUtils.requiredSingleResult (результаты); }

ответ

0

Ваш запрос не дал результата.

Два решения:

  • исправить запрос всегда возвращает результат
  • попробовать/поймать EmptyResultDataAccessException и выбрать соответствующее поведение
1

Просто чтобы прояснить более, мой недавний опыт -> он четко упоминает: «EmptyResultDataAccessException: неправильный размер результата: ожидается 1, фактический 0», что означает, что в результате выполнения SQL-запроса ожидается только 1 строка, а не 0 и не более 1. Итак, убедитесь, что e Выполнение вашего SQL-запроса приводит только к одной строке.

Смежные вопросы