2013-04-17 2 views
-2

enter image description hereитерация результирующий набор для создания объекта в соответствии с требованиями

Здравствуйте guys.I установили следующий результат, и теперь я хочу, чтобы быть сохранены в Java, bean.I есть два Java Beans (POJO).

public class Topic{ 
private int topic_id; 
private String topic; 
private List<SubTopic> subTopicList; 

//getter setter 
} 

и

public class SubTopic{ 
    private int sub_topic_id; 
private String sub_topic; 
//getter and setter 
} 

Теперь я хочу, чтобы установить мой Topic объект таким образом, что она содержит одну тему и список всех его subtopic.But я имею проблему на переборе набор результатов. для того, чтобы сделать его более ясным объект тема, которая включает в кардиологии должны иметь,

topic_id=73 
topic=Cardiology 
List<SubTopic> subTopic=//this includes id and name of SubTopic and SubTopic2 

же другой объект должен быть для аллергии, Атма, Immunology.

ResultSet rs = pstmt.executeQuery(); 
//now how to iterate rs to create list of topic object in required way 
+2

Что ваш вопрос? С чем вы столкнулись и что вы пробовали? –

+0

Это неправильный дизайн БД !!! – NINCOMPOOP

ответ

2

Используйте карту для хранения темы:

Map<Long, Topic> topicsById = new HashMap<>(); 
while (rs.next()) { 
    Long topicId = rs.getLong(1); 
    String topicName = rs.getString(2); 
    Long subTopicId = rs.getLong(3); 
    String subTopicName = rs.getString(4); 

    Topic topic = topicsById.get(topicId); 
    if (topic == null) { 
     topic = new Topic(topicId, topicName); 
     topicsById.put(topicId, topic); 
    } 
    topic.addSubTopic(new SubTopic(subTopicId, subTopicName); 
} 
Collection<Topic> allTopics = topicsById.values(); 
+0

спасибо man..awesome logic ... хорошо провести день – ntstha

Смежные вопросы