2017-01-04 2 views
0

Mapstruct 컴파일 단계에서 나에게 다음 오류가 발생합니다 일부 속성을 매핑되지 않는 MapStruct는 다른 모든 메소드에 대한 코드를 생성합니다.MapStruct는

개체에 ConfigsDTO보다 많은 필드가 있기 때문에 발생한다고 생각합니다. 소스 유형 (예컨대 CONFIGS)로부터 모두 판독 속성이 타겟 유형 (예컨대 ConfigsDTO)의 해당 속성에 복사 될 생성 방법의 구현에서

@Mapper 
public interface ConfigsMapper { 

    ConfigsMapper INSTANCE = Mappers.getMapper(ConfigsMapper.class); 

    ConfigsDTO ConfigsToConfigsDTO(Configs configs); 

    List<ConfigsDTO> toConfigsDTOs(List<Configs> configs); 

    @InheritInverseConfiguration 
    Configs toConfigs(ConfigsDTO configsDTO); 
} 
+0

왜 downvote? 더 자세한 정보가 필요하십니까? –

답변

2

. 특성이 대상 엔티티에 다른 이름을 갖는 경우, 그 이름은 @Mapping 어노테이션을 통해 지정 될 수 있습니다.

어노테이션 @ 매핑은 소스의 특정 속성을 대상의 특정 속성으로 전송하도록 정의합니다. 이 주석은 @InheritInverseConfiguration 역 매핑을 수행하도록 정의합니다. 예를 들어

:

@Mapper 
public interface ConfigsMapper { 
    ConfigsMapper INSTANCE = Mappers.getMapper(ConfigsMapper.class); 

    @Mappings({ 
     @Mapping(source = "configs1", target = "configsDTO1"), 
     @Mapping(source = "configs2", target = "configsDTO2"), 
     @Mapping(target = "somethingElse", constant="somethingElseOnDTO") 
    }) 
    ConfigsDTO ConfigsToConfigsDTO(Configs configs); 

    @InheritInverseConfiguration 
    Configs toConfigs(ConfigsDTO configsDTO); 
}