queryForObject
требуется один результат и только один результат. Поэтому, когда вы получаете EmptyResultDataAccessException
, это означает, что запрос для объекта ничего не нашел.
Однако я все еще не думаю, что это сработает, даже если вы получите результат. Лучше всего использовать RowMapper
.
jdbcTemplate.query(GET_PAIR, (rs, i) -> new Pair(rs.getInt(1), rs.getInt(2)))
, что позволит вам сопоставить элементы с парой (будет возвращен список, по одному для каждой строки).