Я получаю набор данных из базы данных, в которой запрос производит повторение данных с другим «специальным» значением.Например, пользователь «A» может быть повторен дважды, имея три разных значения «Special» под «Special Column».
Я использую обработчик обратного вызова для извлечения данных и помещения их в список, теперьКроме того, я хочу, чтобы столбец Special имел свой собственный обратный вызов, в котором для каждого пользователя будет храниться список спецпредложений, поэтому пользовательские данные не будут повторно приниматься и сохраняться в списке, и мне не придется вручную отфильтровывать их.Может кто-нибудь указать мне направление достижения этого?
Другой способ достижения этого - объединить результаты в саму строку, что было бы проще, но запрос кажется сложным и запутанным, когда я включаюприсоединения.
Код ниже
String query = getQuery(SPECIALS_REPORT_QUERY);
getJdbcTemplate().query(query, parameters, dataTypes, new RowCallbackHandler() {
@Override
public void processRow(ResultSet rs) throws SQLException {
SpecialsResultsSetDTO dto = new SpecialsResultsSetDTO();
dto.setRoomNo(rs.getString("ROOM_NO"));
dto.setGuestName(rs.getString("GUEST_NAME"));
dto.setNoOfAdults((rs.getInt("NO_OF_ADULTS")));
dto.setNoOfChildren(rs.getInt("NO_OF_CHILDREN"));
dto.setNoOfInfants(rs.getInt("NO_OF_INFANTS"));
dto.setMealPlanCode(rs.getString("MEAL_PLAN_CODE"));
dto.setArrivalDateTime(rs.getDate("ARRIVAL_DATE_TIME"));
dto.setDepartureDate(rs.getString("DEPARTURE_DATE"));
//there should be a callback handler or something to store the data to a list in the dto bean object (for the specials)
dtoList.add(dto);
}
});
Любой совет по решению этой проблемы будет полезен
С уважением, Милинда