我试图根据http请求发送的内容更新postgres记录,这是不可预测的(可以是任何属性的组合)。现在,我要做的是让MapStruct忽略“默认”Java值(即不包含在请求体中的值),但它只忽略空值,因此不忽略默认int类型值( 0)。我已经用表达式完成了它,但这不是一个非常优雅的解决方案。我也尝试过使用Integer类型,但是MapStruct仍然把它当作一个普通的int。我的问题是:是否存在忽略等于零的属性的解决办法?
发布于 2022-02-27 21:30:47
在mapstruct 1.5.0
(目前位于1.5.0.Beta2
)中,引入了@Condition
注释。这样,您就可以为何时映射值定义自己的检查。
例如,要映射所有不是int
的0
,可以执行以下操作:
@Condition
boolean shouldMap(int number) {
return number != 0;
}
https://stackoverflow.com/questions/71287528
复制相似问题