jhipster mapstruc关系

时间:2015-07-04 05:21:52

标签: dto jhipster mapstruct

您好我在Jhipster中有DTO mapstruct的模型,但我无法正确映射这些关系

Person
   -String name
   -...
   Address address

Adress
    -String street
    -String zipCode

生成器创建没有关系的DTO

PersonDTO
   -String name
   -...
   (lack of relation adress)

然后我修改了我的PersonDTO以包含这样的Adress:

PersonDTO
   -String name
   -...
   **-Address address;**

当comile app我有这些错误时:

  error: Can't map property "com.kalitron.cxc.web.rest.dto.AddressDTO address"
 to "com.kalitro
    n.cxc.domain.Address address". 
Consider to declare/implement a mapping method: "
com.kalitron.cxc.domain.Address map(com.kalitron.cxc.web.rest.dto.AddressDTO value)".
        Person personDTOToPerson(PersonDTO personDTO);
                ^

但我不知道如何在PersonMapper界面中更正配置。

提前致谢!

1 个答案:

答案 0 :(得分:1)

MapStruct不知道如何将PersonDto类型的AddressDto属性“地址”映射到要设置为Address的{​​{1}}中。正如错误消息所述,声明一个方法

Person

在您的地图上,通过Address addressDtoToAddress(AddressDTO addressDto) 等应用任何可能需要的配置。然后,生成的@Mapping实现将调用此方法来映射“address”属性。