我想在从 bean 到 HashMap
的映射过程中排除一些字段。
奥里卡定义:
static {
final MapperFactory mapperFactory = new DefaultMapperFactory.Builder().build();
mapperFactory.classMap(MyReq.class, Map.class)
.exclude("myproperty")
.byDefault()
.register();
MAPPER = mapperFactory.getMapperFacade();
}
豆子定义:
public class MyReq {
private String myproperty;
}
用法:
MyReq req = new MyReq;
Map map = MAPPER.map(req, Map.class);
结果:Map
包含排除的myproperty
字段!为什么?
我也遇到了这个问题,但仅限于Map
实例(当您定义的类是目标对象时,它可以正常工作(。但是,有一个解决方法,因为 Orika 有多种方法来定义映射规则,如下所示:
mapperFactory.classMap(MyReq.class, Map.class)
.fieldMap("myproperty").exclude().add()
.byDefault()
.register();