【问题标题】:Mapping a hierarchy of entities to a hierarchy of DTOs using Orika使用 Orika 将实体层次结构映射到 DTO 层次结构
【发布时间】:2017-10-17 04:54:11
【问题描述】:

当一个对象都属于一个类层次结构时,是否可以将一个对象映射到其对应的 DTO?

例如:我有一个BaseEntity 和一些ExtendedEntity1 .. ExtendedEntityN

另一方面,我有一个 BaseDTO 和一些 ExtendedDTO1 .. ExtendedDTON

那我有一个服务方法:

public BaseDTO getById(String id) {
    return orikaMapper.map(repository.findOne(id), BaseDTO.class);
}

这样我显然总是得到BaseDTO,但我想将实体映射到正确的 DTO 类型...

有没有办法做到这一点?我不会使用 switchinstanceof-check 解决方法...

【问题讨论】:

    标签: java orika object-object-mapping


    【解决方案1】:

    还没有找到更好的解决方案(如果有的话),所以我会这样:

    Map<Class<? extends BaseEntity>, Class<? extends BaseDTO>> dtoMappings;
    

    我正在定义一个映射Map,我在其中放置了实体和 DTO 之间的所有关联。然后在我的方法中:

    public BaseDTO getById(String id) {
        BaseEntity e = repository.findOne(id);
        return orikaMapper.map(repository.findOne(id), dtoMappings.get(e.getClass()));
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-23
      • 2021-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多