这是一个代码片段:
来源:
public class BuyerInfo {
String membershipID;
}
目标:
public class BuyerInfo {
UUID membershipID;
}
控制台错误:
无法将属性“StringbuyerInfo.primaryMembershipID”映射到“UUIDbuyerInfo.id”。考虑声明/实现一个映射方法:“UUID map(String value)”。
我尝试过这个,它对我有用。
@Mapper(componentModel = "spring")
public interface SourceToTargetMapper {
SourceToTargetMapper INSTANCE = Mappers.getMapper( SourceToTargetMapper.class );
@Mapping(target="buyerInfo.id" source="sourceOrder.id", qualifiedByName = "mapToUUID")
Order sourceOrderList(SourceOrder.Order sourceOrder);
@Named("mapToUUID")
default UUID mapToBuyerInfoId(BuyerMetaData buyerInfo){
return UUID.fromString(buyerInfo.getPrimaryMembershipID());
}
}