2016-11-17 1 views
0

Я использую mapstruct для преобразования домена в DTO ниже отображение я использую: -MapStruct ошибка с вложенной Source и вложенными Target Properties

@Mapper(componentModel = "spring", uses = {}) 
    public interface CategoriesMapper { 
     @Mapping(source = "regionsid.id", target = "regionsid.id") 
     CategoriesDTO categoriesToCategoriesDTO(Categories categories); 
    } 

    public class Categories implements Serializable { 
     private Regions regionsid; 
     public Regions getRegionsid() { 
      return regionsid; 
     } 

     public void setRegionsid(Regions regions) { 
      this.regionsid = regions; 
     } 

    } 

    public class CategoriesDTO implements Serializable { 
     private RegionsDTO regionsid; 
     public RegionsDTO getRegionsid() { 
      return regionsid; 
     } 

     public void setRegionsid(RegionsDTO regions) { 
      this.regionsid = regions; 
     } 

    } 

    public class Regions implements Serializable { 
     private Long id; 
    } 

    public class RegionsDTO implements Serializable { 
     private Long id; 
    } 

Так у меня есть некоторые структуры как исходной и целевой стороне, но я Я получаю ниже ошибки: -

CategoriesMapper.java:28: error: Unknown property "regionsid.id" in return type. 

что, если я поставил

Источник -

private Set<Regions> regions = new HashSet<>(); 

Target -

private Set<RegionsDTO> regions = new HashSet<>(); 

CategoriesMapper.java:36: error: Can't map property "java.util.Set<com.equidity.xboard.service.dto.RegionsDTO> regions" to "java.util.Set<com.equidity.xboard.domain.Regions> regions". Consider to declare/implement a mapping method: "java.util.Set<com.equidity.xboard.domain.Regions> map(java.util.Set<com.equidity.xboard.service.dto.RegionsDTO> value)".` 

ответ

0

В настоящее время MapStruct не поддерживает автоматическое отображение вложенных свойств. Для того, чтобы ваши отображения для работы вам необходимо будет предоставить еще один метод к вашим CategoriesMapper:

RegionsDTO regionsToRegionsDTO(Regions Regions); 

Существует в настоящее время на открытом вопросе (#60) и ожидающая PR (#937), которые ищут, чтобы решить эту новую функцию ,

Смежные вопросы