Получение значений из БД с помощью multiple ResultSetExtractor
У меня есть модель TitleEmployeeModel, которая содержит в себе Title и коллекциюю Employees
В моём кастомном классе я переопределяю метод интерфейса ResultSetExtractor
public List<TitleEmployeeModel> extractData(ResultSet rs) throws SQLException, DataAccessException {
Map<Long, TitleEmployeeModel> titleMap = new HashMap<>();
while (rs.next()) {
long id = rs.getLong("id_title");
TitleEmployeeModel model = titleMap.get(id);
if (model == null) {
model = extractTitleEmployeeModel(rs);
titleMap.put(id, model);
}
}
return new ArrayList<>(titleMap.values());
}
Метод извлечения TitleEmployeeModel:
private TitleEmployeeModel extractTitleEmployeeModel(ResultSet rs) throws SQLException {
TitleEmployeeModel model = new TitleEmployeeModel();
while (rs.next()) {
model.setId(rs.getInt("id_title"));
model.setName(rs.getString("name"));
Employee employee = new EmployeeRowMapper().mapRow(rs, model.getId());
model.addEmployee(employee);
}
return model;
}
Проблема в состоит в том, что у меня пропускается первая строка базы данных и возвращаются n-1 значений