假设我有一个源对象,其中包含两个属性 a 和 b,如下所示:
public class Source {
String a, b;
}
和具有一个属性 c 的目标对象:
public class Target {
String c;
}
我想定义一个映射,它将:
- 如果 a 不为空,则将属性 a 映射到 c
- 如果 b 不为空,则将属性 b 映射到 c
我认为将 mapNulls 设置为 false 的映射器是可能的:
factory.registerClassMap(factory.classMap(Source.class, Target.class).field("a", "c").field("b", "c").mapNulls(false));
但是,当我将属性 a 设置为非 null 值并将属性 b 保留为 null 时,映射会导致目标对象 c 设置为 null。
我是否误解了 mapNulls 的目的?