1

次のような a と b の 2 つのプロパティを含むソース オブジェクトがあるとします。

public class Source {
    String a, b;
}

および 1 つのプロパティ c を持つターゲット オブジェクト:

public class Target {
    String c;
}

次のようなマッピングを定義したいと思います。

  1. a が null でない場合、プロパティ a を c にマップします
  2. b が null でない場合、プロパティ b を c にマップします

mapNulls を false に設定したマッパーで可能だと思いました。

factory.registerClassMap(factory.classMap(Source.class, Target.class).field("a", "c").field("b", "c").mapNulls(false));

ただし、プロパティ a を null 以外の値に設定し、プロパティ b を null のままにすると、マッピングの結果、c が null に設定されたターゲット オブジェクトが生成されます。

mapNulls の目的を誤解していますか?

4

1 に答える 1