java 多参数的MapStructMap

dw1jzc5e  于 2023-01-24  发布在  Java
关注(0)|答案(1)|浏览(230)
@Mapping(target = "content.shortText", qualifiedByName = "shortText")
@Mapping(target = "content.longText", qualifiedByName = "longText")
EntityDto mapToDto(Entity entity, String shortText, String longText);

我想把@mappings中的第二个和第三个参数Map为源代码,但它从来没有工作过。
如果使用mapToDto(myEntity, "Hello", "WorldLong"),Hello应该Map到target = "content.shortText",WorldLong应该Map到target = "content.longText",但它不起作用

kulphzqa

kulphzqa1#

qualifiedByName用于调用一个用@Named注解的方法。应该使用source参数。

@Mapping(target = "content.shortText", source= "shortText")
@Mapping(target = "content.longText", source= "longText")
EntityDto mapToDto(Entity entity, String shortText, String longText);

您可以在文档中阅读更多信息。以下是页面中的示例:

@Mapper
public interface AddressMapper {
    @Mapping(target = "description", source = "person.description")
    @Mapping(target = "houseNumber", source = "hn")
    DeliveryAddressDto personAndAddressToDeliveryAddressDto(Person person, Integer hn);
}

相关问题