首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用MapStruct忽略零值

如何使用MapStruct忽略零值
EN

Stack Overflow用户
提问于 2022-02-27 18:40:22
回答 1查看 154关注 0票数 0

我试图根据http请求发送的内容更新postgres记录,这是不可预测的(可以是任何属性的组合)。现在,我要做的是让MapStruct忽略“默认”Java值(即不包含在请求体中的值),但它只忽略空值,因此不忽略默认int类型值( 0)。我已经用表达式完成了它,但这不是一个非常优雅的解决方案。我也尝试过使用Integer类型,但是MapStruct仍然把它当作一个普通的int。我的问题是:是否存在忽略等于零的属性的解决办法?

EN

回答 1

Stack Overflow用户

发布于 2022-02-27 21:30:47

在mapstruct 1.5.0 (目前位于1.5.0.Beta2)中,引入了@Condition注释。这样,您就可以为何时映射值定义自己的检查。

例如,要映射所有不是int0,可以执行以下操作:

代码语言:javascript
运行
复制
@Condition
boolean shouldMap(int number) {
    return number != 0;
}

有关更多信息,请参见mapstruct参考指南中的条件映射。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71287528

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档