使用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())")
但是在我的特殊用例中,在此示例中未描述,我需要使用一些外部库来合并/映射这两个字段,这对于表达式是不可行的。
是否有一种方法可以实现不带表达式的两个字段的合并?