gpt4 book ai didi

java - mapstruct 不允许创建具有所有可为空字段的对象

转载 作者:行者123 更新时间:2023-12-01 18:18:10 26 4
gpt4 key购买 nike

如何使用带有可为空字段的映射结构来创建对象。如果创建的对象中的所有字段均为 null - 将父对象设置为 null

@Mapping(source = "street1", target = "street")
@Mapping(source = "city1", target = "city")
Address2 toNewAddress(Address1 address);

当街道和城市为空时,我想得到 Address2 为空,但现在我有:

Address2 对象,街道和城市为空;

最佳答案

也许不是最令人满意的答案。但我认为唯一的方法是像这样包装映射方法:

@Mapper
public interface MyMapper {

default Address2 wrapToNewAddress(Address1 s) {
return s.getCity1() == null && s.getStreet1() == null ? null : toNewAddress( s );
}

@Mapping(source = "street1", target = "street")
@Mapping(source = "city1", target = "city")
Address2 toNewAddress(Address1 address);
}

关于java - mapstruct 不允许创建具有所有可为空字段的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60326618/

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