有一个方法saveCountryIslands,它带有String数组参数。有一个实体是国家和岛屿。
我一直试图使用来保存提供的岛屿名称列表
jpa .save()
。
现有方法主体已经在起作用(您可以在下面的代码中看到)。
是否有更有效的方法?
private void saveCountryIslands(String[] islandNames){
List<Islands> listOfIsland = new ArrayList<>();
Country country=new Country();
Stream.of(islandNames).distinct().forEach(islandNamesFromArray -> {
Islands islands = new Islands();
islands.setIslandName(islandNamesFromArray);
listOfIsland.add(islands);
});
country.setCountryIslands(listOfIsland);
countryRepository.save(country);
}
答案 0 :(得分:1)
可以带来可读性的一个小变化是使用以下构造函数:
public Islands(String name) {
this.name = name;
}
,然后将现有代码重构为:
List<Islands> listOfIsland = Stream.of(islandNames)
.distinct()
.map(Islands::new)
.collect(Collectors.toList()); // collect 'toSet' depending on compatibility