gpt4 book ai didi

java - 仅当目标字段为空时,MapStruct 将字段映射到目标

转载 作者:行者123 更新时间:2023-11-30 05:19:52 27 4
gpt4 key购买 nike

我正在尝试映射这个对象

public class Source {
private String value1;
private String value2;
private String value3;
}

进入此对象

public class Target {
private String targetValue1;
private String targetValue2;
private String targetValue3;
}

这是映射器定义。

@Mapper
public interface SourceMapper {
void toTarget(Source source, @MappingTarget Target target);
}

我想要实现的目标是仅当 target 中的字段为 null< 时才将 source 中的字段映射到 target/。例如,当 target.targetValue1null 时,source.value1 仅映射到 target.targetValue1。如果它不为 null,则忽略该字段的映射。

是否可以使用 MapStruct 而无需编写自定义代码?

编辑我更改了 Target 的字段名称,以明确 Target 的名称可能/可能不匹配 Source 中的字段名称.

最佳答案

我认为这不能用mapstruct 来完成。如果您仍想使用mapstruct,则可以使用@Mapping (target =" propName ", ignore = true)忽略可能为null的目标变量。并通过 @AfterMapping 自行决定设置目标变量时的方法。

关于java - 仅当目标字段为空时,MapStruct 将字段映射到目标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59740439/

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