【问题标题】:MapStruct: Unknown property when map inherited objectsMapStruct:映射继承对象时的未知属性
【发布时间】:2022-10-23 15:06:49
【问题描述】:

当我尝试如下映射时出现此错误Unknown property "addUsrIdentif" in type NonExistentClass for target name "addUsrIdentif.userId". Did you mean "null"?

public class ConfirmPayerRq extends AbstractMessageRq {
    protected String phoneNumber;
    // getter and setter
}

public abstract class AbstractMessageRq extends AbstractMessage{
    protected AddUsrIdentif addUsrIdentif;
    // getter and setter
}

@Mapping(source = "userId", target = "addUsrIdentif.userId")
fun confirmPayerAgentRequestToConfirmPayerRq(source: ConfirmPayerAgentRequest): ConfirmPayerRq

【问题讨论】:

    标签: java kotlin mapstruct


    【解决方案1】:

    这可能会有所帮助,示例:-

    public class Operation {
    
        public static void main(String[] args) {
            System.out.println(Integer.toHexString(-10));
        }
    }
    

    【讨论】:

    • 我在这里没有领域知识,但我发现这与问题的关系并不明显。也许它可以做一些更多的解释。
    【解决方案2】:

    您应该将这些字段声明为公共或定义公共 getter。参考Filip's answer

    目前 MapStruct 仅支持来自公共字段的映射 / 特性。有一个开放的Feature Request 请求 包私有/受保护属性的功能。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-15
      • 1970-01-01
      • 2019-04-06
      • 1970-01-01
      相关资源
      最近更新 更多