尝试在目标上设置 null 时,我遇到了 Orika 的问题。
现在,当源具有值而目标为空时,我的实现工作得很好。它也适用于源和目标都有一个价值。问题是当我从源读取的值为 null 而在目的地不是。
我发现在 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);
有什么建议么?