微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ModelMapper迁移:使用转换器的映射不再起作用

如何解决ModelMapper迁移:使用转换器的映射不再起作用

我以前使用下面的映射,该映射以前在2.3.0中可用。 基本上,它将项目列表转换为一个int,即这些项目的计数:

    private void entityToDTO() {
    
            Converter<List<Pattern>,Integer> listToSize = new Converter<List<Pattern>,Integer>() {
                @Override
                public Integer convert(MappingContext<List<Pattern>,Integer> context) {
                    if (context.getSource() == null) {
                        return 0;
                    } else {
                        return context.getSource().size();
                    }
                }
            };
    
            TypeMap<Creator,CreatorDTO> typeMap = modelmapper.createTypeMap(Creator.class,CreatorDTO.class);
            typeMap.addMappings(mapper -> mapper.using(listToSize).map(Creator::getPatterns,CreatorDTO::setPatternsNumber));
        }

我已经升级到v2.3.8,现在在尝试运行项目时出现以下错误

由以下原因引起:java.lang.NullPointerException:在null org.modelmapper.internal.ReferenceMapExpressionImpl.map(ReferenceMapExpressionImpl.java:68) 〜[modelmapper-2.3.8.jar:na]在 org.modelmapper.internal.ConfigurableConditionExpressionImpl.map(ConfigurableConditionExpressionImpl.java:65)

我已经在http://modelmapper.org/user-manual/property-mapping/#deep-mapping处检查了文档,但找不到我做错的事情...

有任何线索吗?

〜[modelmapper-2.3.8.jar:na]

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。