Вложенные обработчики обратного вызова? - PullRequest
0 голосов
/ 16 августа 2010

Я получаю набор данных из базы данных, в которой запрос производит повторение данных с другим «специальным» значением.Например, пользователь «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);
        }
    });

Любой совет по решению этой проблемы будет полезен

С уважением, Милинда

1 Ответ

0 голосов
/ 16 августа 2010

В вашем dto cant вы создаете хэш-карту, в которой пользователь будет в качестве ключа, а специальное значение - в качестве столбца.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...