首页 > 解决方案 > 如何将列表映射到其大小

问题描述

在我的实体中,我有一个带有书籍集合的对象架子

public class Shelf{
  ...
  private List<Book> books;
}

在我的 ShelfDTO 中,我只需要拥有书籍的数量

public class ShelfDTO{
  ...
  private int booksNumber;
}

我试过:

modelMapper.addMappings(new PropertyMap<Shelf, ShelfDTO>() {
        protected void configure() {
            map().setBooksNumber(source.getBooks().size());
        }
    });

但是当我尝试启动应用程序时出现异常:

Caused by: java.lang.NullPointerException: null
    at org.modelmapper.internal.ExplicitMappingBuilder$ExplicitMappingInterceptor.access$000(ExplicitMappingBuilder.java:304) ~[modelmapper-2.3.0.jar:na]
    at org.modelmapper.internal.ExplicitMappingBuilder.createAccessorProxies(ExplicitMappingBuilder.java:287) ~[modelmapper-2.3.0.jar:na]
    at org.modelmapper.internal.ExplicitMappingBuilder.createProxies(ExplicitMappingBuilder.java:277) ~[modelmapper-2.3.0.jar:na]

有没有办法通过属性映射来做到这一点,还是我必须使用转换器?

标签: javamodelmapper

解决方案


推荐阅读