MapStruct NullValuePropertyMappingStrategy.IGNORE 将空布尔值重置为 false?

问题描述 投票:0回答:1

使用 MapStruct 的文档,我发现使用

nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE
可以选择在从源更新到目标时忽略空值的选项。这对于更新所有内容(除了我的布尔值)非常有效。如果我不提供特定的布尔值,它会假设为 false 并更新我的目标。
我在文档中没有找到太多其他内容,也许我正在查看它 - 但我想避免不惜一切代价自己进行空检查,以便我可以拥有简单的补丁/更新功能。我的预感是我正在寻找一些东西,或者可能是龙目岛出了问题。

@Mapper(nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE, nullValueCheckStrategy= NullValueCheckStrategy.ALWAYS) public interface StoreMapper { StoreMapper INSTANCE = Mappers.getMapper(StoreMapper.class); @Mapping(target="id", source="id", ignore=true) void updateStoreFromUpdateStoreDto(UpdateStoreDto source, @MappingTarget Store store); }

聚甲醛

<org.mapstruct.version>1.6.3</org.mapstruct.version> <lombok.version>1.18.30</lombok.version> <path> <groupId>org.mapstruct</groupId> <artifactId>mapstruct-processor</artifactId> <version>${org.mapstruct.version}</version> </path> <path> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>${lombok.version}</version> </path> <path> <groupId>org.projectlombok</groupId> <artifactId>lombok-mapstruct-binding</artifactId> <version>0.2.0</version> </path>

	
spring-boot lombok mapstruct
1个回答
0
投票
boolean

切换为

Boolean
作为变量类型,解决了该问题。
    

© www.soinside.com 2019 - 2024. All rights reserved.