首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MapStruct 1.3.0最终版本。不要忽略非getter-setter方法

MapStruct 1.3.0最终版本。不要忽略非getter-setter方法
EN

Stack Overflow用户
提问于 2019-02-18 17:52:09
回答 2查看 871关注 0票数 3

我使用Mapstruct和JOOQ在记录类和POJO之间进行映射。今天我试着从Mapstruct 1.2.0.Final切换到1.3.0Final。但是我得到了像这样的编译错误-- Unmapped target properties: "value1, value2, value3, value4"

使用常见的setter/getter和一些名为valueN的公共非静态方法生成记录类。valueN方法为每个setter/getter生成。

在Mapstruct 1.2.0中,它可以很好地工作。在生成的映射器中忽略ValueN方法。生成的映射器只使用getters-setter。我没有显式地为ValueN设置ignore。

如何在Mapstruct 1.3.0中优雅地修复此行为?如何将Mapstruct配置为只使用getters-setters?

现在我看到两个选项:

选项1.对所有valueN方法使用@Mapping(target = "value1", ignore = true)。我可以在目标属性中使用一些正则表达式模式来忽略单个@Mapping中的所有valueN方法吗

选项2.编写我自己的AccessorNamingStrategy

我应该只选择上面的一个选项,或者Mapstruct有任何配置选项来返回1.2.0行为吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-02-19 01:59:18

在1.3.0版本中,为了禁用fluent访问器,不幸的是你必须选择选项1或选项2。

如果你使用选项2,那么你可以从DefaultAccessorNamingStrategy扩展,然后对于isFluentSetter返回false

票数 1
EN

Stack Overflow用户

发布于 2019-02-20 02:49:43

或者选择..。

选项2.对所有valueN方法使用@BeanMapping(ignoreByDefault = true)。

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

https://stackoverflow.com/questions/54744468

复制
相关文章

相似问题

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