-2

ここに画像の説明を入力

こんにちは。次の結果セットがあり、それを Java Bean に保存したいと考えています。2 つの Java Bean (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ここで、1 つのトピックとそのすべてのサブトピックのリストが含まれるようにオブジェクトを設定したいと考えています。

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

同じ別のオブジェクトは、アレルギー、喘息、免疫学にある必要があります。

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

1 に答える 1

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();
于 2013-04-17T09:20:19.460 に答える