MapStruct:映射到新对象时如何实现 NullValuePropertyMappingStrategy.SET_TO_DEFAULT

viv*_*vek 5 java mapstruct

如果源中的相应属性为空,我想将目标对象中的属性映射到默认值(例如,字符串为“”)。我怎样才能做到这一点?我看到

nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.SET_TO_DEFAULT
Run Code Online (Sandbox Code Playgroud)

仅在更新时有效。

在创建目标对象的同时是否有可能实现某些目标?

Fil*_*lip 1

如果您想设置默认值,则需要使用Mapping#defaultValueMapping#defaultValueExpression

我们目前不支持做类似的事情nullValuePropertyMappingStrategy

另一种方法可能是使用自定义@ObjectFactory来设置对象中的默认值。您可以在 MapStruct 文档中阅读有关对象工厂的更多信息

也有人认为应该在对象构造中设置默认值。