gpt4 book ai didi

java - 使用 Orika 将两个值映射到单个属性

转载 作者:太空宇宙 更新时间:2023-11-04 07:14:33 25 4
gpt4 key购买 nike

假设我有一个源对象,包含两个属性,a 和 b,如下所示:

public class Source {
String a, b;
}

以及一个具有一个属性 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 设置为非空值并将属性 b 保留为 null 时,映射会生成目标对象,其中 c 设置为 null。

我是否误解了mapNulls的目的?

最佳答案

这是因为 mapNulls 在最后一个字段设置了属性。尝试在这两个字段进行设置。
您也可以实现 ConfigurableMapper

关于java - 使用 Orika 将两个值映射到单个属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20149604/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com