如何在Orika bean映射器中排除字段?

时间:2017-05-18 12:05:05

标签: java orika

我想在从bean映射到HashMap期间排除某些字段。

Orika定义:

static {
        final MapperFactory mapperFactory = new DefaultMapperFactory.Builder().build();
        mapperFactory.classMap(MyReq.class, Map.class)
                .exclude("myproperty")
                .byDefault()
                .register();
        MAPPER = mapperFactory.getMapperFacade();
    }

Bean定义:

public class MyReq {
    private String myproperty;
}

用法:

MyReq req = new MyReq;
Map map = MAPPER.map(req, Map.class);

结果:Map 包含排除的myproperty字段!为什么呢?

1 个答案:

答案 0 :(得分:1)

我也遇到过这个问题,但只有Map个实例(当你定义的类是目标对象时,它可以正常工作)。但是,有一种解决方法,因为Orika有多种方法来定义映射规则,如下所示:

mapperFactory.classMap(MyReq.class, Map.class)
                        .fieldMap("myproperty").exclude().add()
                        .byDefault()
                        .register();