[英]Mapstruct: mapping collection to object
I have a function like so:我有一个 function 像这样:
public HousesDTO mapHouses(Set<Home> roles) {
HousesDTO homes = new HousesDTO();
List<HouseDTO> dtos = new ArrayList<HouseDTO>();
for (Home home : homes) {
HouseDTO dto = new HouseDTO(home.getAddress(), home.getPrice());
dtos.add(dto);
}
homes.setAllHomes(dtos);
return homes;
}
return null;
}
How can this be done using Mapstruct?如何使用 Mapstruct 做到这一点?
In case your HouseDTO
has a parameterless constructor and setters for the values you can do it like this:如果你的
HouseDTO
有一个无参数的构造函数和值的设置器,你可以这样做:
@Mapper
public interface HousesMapper {
default HousesDTO toHouses(Set<Home> homes) {
HousesDTO housesDTO = new HousesDTO();
housesDTO.setAllHomes(toHousesList(homes));
return housesDTO;
}
List<HouseDTO> toHousesList(Set<Home> homes);
}
If the HouseDTO
only has a constructor that expects the properties than there are three options left:如果
HouseDTO
只有一个期望属性的构造函数,则剩下三个选项:
Home
to HouseDTO
manuallyHome
到HouseDTO
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.