将Pojo列表转换为嵌套列表

时间:2018-09-15 09:15:42

标签: java collections

我有3个实体:国家,州,城市 我将他们的POJO写为:

class Country{
String countryName;
List<State> states;
}

class State{
String stateName;
List<City> cities;
}

class City{
String cityName;
}

我的数据库表如下:

Goegraphy
---------
countryName | stateName | cityName

现在,为了从数据库中获取数据,我做了另一个POJO:

class Geography{
String countryName;
String stateName;
String cityName;
}

我有一个地理对象列表。 但是我的要求是现在将此列表转换为较早的Country-State-City模型。有人可以帮忙实现此目标吗?

2 个答案:

答案 0 :(得分:3)

您正在寻找的是关系数据库的One to Many关联。所有sortorder:=wdSortOrderAscending 实现都可以为您做得很好,而无需实现Geography Pojo。

但是,如果您不愿意手动进行操作,这是使用Java 8流进行优化的方法

JPA

答案 1 :(得分:0)

如果我对它的理解正确,那么您就有表格中的列表,并且希望它映射到您的POJO类上。但是问题是,如果我正确理解的话,表中的值是重复的。我认为您在表中有此数据 1.美国,佛罗里达州,迈阿密 2.美国,佛罗里达州,萨拉索塔

问题将与表中的重复项有关。我认为您应该将每个列拆分到单独的表中,并通过前键进行连接,这样会更好。比您可以创建select并联接到另一个表,然后将结果添加到列表中。现在您需要创建循环。