2010-08-16 3 views
0

쿼리가 다른 "특별"값을 가진 데이터의 반복을 만드는 데이터베이스에서 데이터 집합을 가져오고 있습니다. 예를 들어 사용자 "A"는 "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); 
     } 
    }); 

이하

감사합니다, Milinda

당신이 사용자로이 것 인 해시 맵을 만들 어차피 당신의 DTO에서

답변

0

키와 열의 특수 값

+0

아이디어를 주셔서 감사합니다. =) – MilindaD