使用Java modelMapper映射2个具有不同名称的列表时出现问题

问题描述

我有4个课程;

public class Class1
{
    private String id;
    private List<Class1a> class1aItems = null;

    ....
}

public class Class1a
{
    private String id;
    private String info;

    ....
}


public class Class2
{
    private String id;
    private List<Class2a> class2aItems = null;

    ...
}

public class Class2a
{
    private String id;
    private String info;

    ...
}

我无法为Class1和Class2中的列表设置相同的名称

然后,我必须使用automapper这样将Class1映射到Class2:

TypeMap<Class1,Class2> typeMap = modelMapper.createTypeMap(Class1.class,Class2.class);
        typeMap.addMapping(Class1::getClass1aItems,Class2::setClass2aItems);

        Class2 class2 = modelMapper.map(class1,Class2.class);

对于主类,除列表外,其他类均起作用(Class1映射到Class2)。在映射class1aItems填充了3个项目之前,Class2的class2aItems为空。

我在做什么错了?

解决方法

尝试在你的命运类中实现java.io.Serializable

public class Class2 implements Serializable
{
    private String id;
    private List<Class2a> class2aItems = null;

    ...
}

public class Class2a implements Serializable
{
    private String id;
    private String info;

    ...
}

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...