gsc*_*ial 7 java collections mapstruct
我有2个实体:
实体1:
public class Master {
private int id;
private Set<SubMaster> subMasters= new HashSet<SubMaster>(0);
}
public class SubMaster{
private int subId;
private String subName;
}
Run Code Online (Sandbox Code Playgroud)
实体2:
public class MasterDTO {
private int id;
private Set<SubMaster> subMasters= new HashSet<SubMaster>(0);
}
public class SubMasterDTO{
private int subId;
private String subName;
}
Run Code Online (Sandbox Code Playgroud)
我正在使用MapStruct映射器将POJO的值映射到另一个。
public interface MasterMapper{
MasterDTO toDto(Master entity);
}
Run Code Online (Sandbox Code Playgroud)
我能够成功映射Master到MasterDTO。但是,SubMasterin 的嵌套集合Master未映射到in中的对应集合MasterDTO。
谁能在正确的方向帮助我?
jan*_*nis 10
Mapstruct的Github存储库中的此示例是您要尝试执行的操作的确切展示。
TL; DR您将需要一个单独的mapper来用作SubMaster(让我们称之为SubMasterMapper)类,然后@Mapper(uses = { SubMasterMapper.class })在您的上添加一个注释MasterMapper:
public interface SubMasterMapper {
SubMasterDTO toDto(SubMaster entity);
}
@Mapper(uses = { SubMasterMapper.class })
public interface MasterMapper {
MasterDTO toDto(Master entity);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8258 次 |
| 最近记录: |