2010-08-16 7 views
0

Je reçois un ensemble de données de la base de données où la requête produit une répétition de données avec une valeur "spéciale" différente. Par exemple, l'utilisateur "A" peut être répété deux fois, avec trois valeurs "spéciales" différentes dans la "colonne spéciale". J'utilise un gestionnaire de rappel pour récupérer les données et les mettre dans une liste, maintenant en plus je veux que la colonne spéciale ait son propre rappel où pour chaque utilisateur la liste des spécialités sera stockée, donc les données de l'utilisateur ne seront pas être pris à plusieurs reprises et stocké dans la liste et je ne dois pas le filtrer manuellement. Quelqu'un peut-il me diriger vers une direction de réaliser ceci?Gestionnaires de rappel imbriqués?

Une autre façon d'y parvenir est de concaténer les résultats dans une chaîne elle-même, ce qui serait plus facile, mais la requête semble être complexe et désordonnée lorsque j'inclue les jointures.

Le code est ci-dessous

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); 
     } 
    }); 

Tous les conseils sur la résolution de ce problème serait utile

Cordialement, Milinda

Répondre

0

Dans votre DTO ne pouvez pas vous créer un hashmap qui aurait l'utilisateur comme la clé et la valeur spéciale de la colonne.

+0

Merci pour votre idée, la méthode a travaillé =) – MilindaD

Questions connexes