Java DozerBeanMapper:忽略源中的空值

Java DozerBeanMapper:忽略源中的空值,java,mapping,dozer,Java,Mapping,Dozer,在我的Java项目中,我使用org.dozer.BeanMapper将复杂的源对象合并到具有相同类型的目标对象中: sourceObject.valueA = null sourceObject.valueB = B1 sourceObject.valueC = C1 destinationObject.valueA = A2 destinationObject.valueB = null destinationObject.valueC = C2 beanMerger.map(source

在我的Java项目中,我使用org.dozer.BeanMapper将复杂的源对象合并到具有相同类型的目标对象中:

sourceObject.valueA = null
sourceObject.valueB = B1
sourceObject.valueC = C1

destinationObject.valueA = A2
destinationObject.valueB = null
destinationObject.valueC = C2

beanMerger.map(sourceObject, destinationObject);
这将导致我的destinationObject中的以下值:

destinationObject.valueA: null
destinationObject.valueB: B1
destinationObject.valueC: C1 
我是否可以配置BeanMapper,使其不应使用空值覆盖字段?我的预期结果应该是:

destinationObject.valueA: A2
destinationObject.valueB: B1
destinationObject.valueC: C1 
或者更好(不要触摸目标对象的设置值)

我找到了解决办法:

beanMerger.addMapping(
  new BeanMappingBuilder() {
    protected void configure() {
       mapping(MyObjectDTO.class, MyObjectDTO.class, TypeMappingOptions.mapNull(false));
    }
  });
我找到了解决办法:

beanMerger.addMapping(
  new BeanMappingBuilder() {
    protected void configure() {
       mapping(MyObjectDTO.class, MyObjectDTO.class, TypeMappingOptions.mapNull(false));
    }
  });