mapstruct List<Object1> 到 List<Object2> 具有不同的属性

Sri*_*vas 1 mapstruct

我必须使用不同的属性名称将 List 映射到 List。

前任:

public class Object1 {
   private String name; 

   //getters and setters
}


public class Object2 {
  private String customerName; 

  //getters and setters
}
@Mapping(source="object1List.name" target="object2List.customerName"
List<Object2> toObject2(final List<Object1> object1List) 
Run Code Online (Sandbox Code Playgroud)

我没有写我在哪里得到 Object1List 来简化。(我在一个方法的不同类中得到了它)

我一直在尝试这个,但 mapstruct 抱怨 object1List 是未知属性。有没有办法做到这一点?帮助表示赞赏。

Gun*_*nar 5

你需要声明一个单独的方法从映射Object1Object2

@Mapping(source="name" target="customerName")
Object object1ToObject2(Object1 object1)
Run Code Online (Sandbox Code Playgroud)

然后声明您的列表映射方法(不带@Mapping注释),其生成的实现将调用上述方法来映射各个列表元素。