相关疑难解决方法(0)

将附加参数传递给 MapStruct 映射器

还没有弄清楚如何传递额外的参数或替代方案。

目前我正在映射订单和订单行。两个对象是不同的并且需要@mappings。示例我有一个 Order 和 OrderRequest 对象,两者都不同,需要 @Mappings 注释来映射值,与 OrderLines 相同。

我创建了以下映射器

  • OrderMapper(使用 = OrderLineMappers.class)
  • OrderLineMappers(使用 = OrderLineMapper.class)
  • 订单行映射器

所以我的问题是 OrderLine 需要来自 Order 对象的 OrderId。然而,在 OrderLineMapper 中,它传递的是 OrderLine 而不是 Order。如何将 OrderId 发送到 OrderLineMapper?目前,我让 OrderMapper 执行 @AfterMapper,循环遍历 orderLines 并填充 OrderId。

任何帮助都会很棒。

类 订单映射器

@Mapper(componentModel = "spring",  uses = {OrderLineMappers.class})
public abstract class OrderMapper {

@AfterMapping
protected void orderRequestFromOrder( Order order, @MappingTarget 
OrderRequest orderRequest ) {

    //Wanting to do this at the OrderLineMapper class and not here
    String orderId = order.getId();
    List<OrderLineRequest> lines …
Run Code Online (Sandbox Code Playgroud)

java mapping mapstruct

10
推荐指数
1
解决办法
2万
查看次数

标签 统计

java ×1

mapping ×1

mapstruct ×1