添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

mapstruct 一对多

mapstruct是一个Java代码生成器,它可以通过插入注释来生成源代码。它主要用于对象映射,例如DTO到实体类,实体类到DTO等。

如果您有一对多集合映射的需求,您可以使用mapstruct提供的@MappingTarget注释。

@Mapper(componentModel = "spring") public interface OrderMapper {

@Mapping(target = "orderLines", ignore = true)
OrderDto toOrderDto(Order order);
@IterableMapping(elementTargetType = OrderLineDto.class)
List<OrderLineDto> toOrderLineDtos(List<OrderLine> orderLines);
default void map(Order order, @MappingTarget OrderDto target) {
    target.setOrderLines(toOrderLineDtos(order.getOrderLines()));

这样,您就可以将一个Order实体类映射到一个OrderDto DTO,并同时将其所有OrderLine映射到一个OrderLineDto列表中。

  •