2013-03-22 72 views
0

当Orika尝试在目标位置设置为空时,我正面临问题。Orika没有在目标位置设置目标值

现在,当源具有值且目标为空时,我的实现工作得非常好。 它也适用于源和目的地都有价值。问题是当我从源读取的值为 的值为空而目的地的值不是。

我发现在1.4.0版的函数ClassMapBuilder.mapNulls(true | false)或ClassMapBuilder.mapNullsInReverse(true | false)可以用来解决这个问题。

不幸的是,上面的代码似乎没有解决我的问题,因此目标字段保持始终不变,尽管它应该设置为null(根据源)。

下面是我尝试的不同实现。

MapperFactory myfact = new DefaultMapperFactory.Builder().build(); 
ClassMapBuilder<E, D> mapBuilder = factory.classMap(dest, source).mapNulls(true); 


MapperFactory myfact = new DefaultMapperFactory.Builder().mapNulls(true).build(); 
ClassMapBuilder<E, D> mapBuilder = factory.classMap(dest, source); 

有什么建议吗?

回答

3

这在Orika软件中最终成为问题。 该bug在版本1.4.2中得到修复