Mapstruct:如何将两个字段合并为一个

问题描述 投票:0回答:1

使用MapStruct框架,如何将多个字段映射到单个字段(基于自定义逻辑),同时仍将其他字段一一映射?

这里有一个简单的例子来说明我的意思:

public class Source {
    private String firstname;               
    private String surname;  
    // other fields eg:
    private String address; 
    private int age;
    private int favoriteNumber;
}
public class Target {
    private String fullname; // Sould be firstname + surname
    // other fields eg:
    private String address; 
    private int age;
    private int favoriteNumber;
}

我知道可以使用表达式:

@Mapping(target = "fullname", expression = "java(el.getFirstname() + el.getSurname())")

但是在我的特殊用例中,在此示例中未描述,我需要使用一些外部库来合并/映射这两个字段,这对于表达式是不可行的。

是否有一种方法可以实现不带表达式的两个字段的合并?

java mapping mapstruct
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.