在Java中-如何将resultSet映射到复杂的对象?

如何将结果集从几个表映射到一个复杂的对象?
让我详细说明:

可以说我有这两个课程:

public class User {
    private int user_id;
    private String fname;
    private String lname;
    //getters setters...
}

public class Country{
    private String country;
    private ArrayList<User> users;
    }

sql查询:

SELECT * FROM user U,Country C WHERE c.user_id = U.id

给我以下输出-

id | fname | lname| country 
1  | Jack  | Levi |  USA
1  | Jack  | Levi |  UK
2  | Mike  | Brown|  Germany

如何将这些结果映射到Country类中?
我需要从中获得一个Json字符串来获得如下内容:

{
id : 1,
fname: "jack",
lname" "levi",
countries : {"USA", "UK"}
}

非常感谢你!!

最佳答案
创建一个HashMap,其中用户ID是键,而用户是值.然后,当您处理结果集时,请执行map.get(resultset.get(userid))(如果为空),创建一个新用户,但如果不是,则执行将用户添加到国家/地区的逻辑.

HashMap<Integer, User> users;
HashMap<String, Country> countries;
//inside the result set processing
User u = users.get(resultSet.get("id"));
    if(null != u) {
      //populate user here
    } else {
       Country c = countries.get(resultSet.get(country);
       c.users.add(u);
    }

转载注明原文:在Java中-如何将resultSet映射到复杂的对象? - 代码日志