如何使用ModelMapper否定一些专用属性值

时间:2018-12-17 16:51:12

标签: java modelmapper

我使用ModelMapper,通常我对默认的默认设置(不需要额外的配置)感到满意。但是这次我有一个巨大的bean,它具有很多o Double属性。但是,有很多属性需要我否定,但不是全部。因此,我尝试使用此PropertesMap,但

    private static class NegationMap extends PropertyMap<KpiTimeSeriesSource, KpiTimeSeriesEntity>{
        @Override
        protected void configure() {
            if (source.getKpiHw1() != null) map().setKpiHw1(source.getKpiHw1());
            // a few more here
        }
    }

    public KpiTimeSeriesMapper() {
        modelMapper.addMappings(new NegationMap());
    }

但这似乎不起作用:

原因:java.lang.IllegalArgumentException:对象不是声明类的实例

我也尝试过类似的方法,但是该值根本没有被忽略:

TypeMap<KpiTimeSeriesSource, KpiTimeSeriesEntity> typeMap = modelMapper.createTypeMap(KpiTimeSeriesSource.class, KpiTimeSeriesEntity.class);
typeMap.addMapping(src -> src.getKpiHw1() * -1, KpiTimeSeriesEntity::setKpiHw1);

编辑:

奇怪的是,如果我在NegationMap中省略了空检查,但是错误没有消失,那么错误就消失了。

0 个答案:

没有答案