java - MapStruct 忽略自动未映射的属性

标签 java mapstruct

我正在使用 MapStruct 以及在我的代码中的不同业务用例之间共享的大型模型(超过 50 个字段)。根据入口点,某些属性将被映射,而有些则不会。当我构建我的项目时,我总是会收到“警告:未映射的目标属性”消息。

我研究并看到可以通过使用语义告诉mapstruct忽略该字段

@Mapping(target = "propName", ignore = true)

问题是,考虑到我的对象有这么多字段,需要大量代码来忽略每个映射器类中的每个属性。我也不希望在我的日志中出现此警告。有没有办法告诉 mapstruct 忽略未映射的内容,避免出现此消息?

最佳答案

您可以在 @Mapper 级别或通过 @MapperConfig 设置“未映射目标策略”以在多个映射器之间共享设置:

@Mapper(unmappedTargetPolicy = ReportingPolicy.IGNORE)
public interface MyMapper {}

关于java - MapStruct 忽略自动未映射的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36788642/

相关文章:

java - MapStruct:将多个对象的多个源映射到一个目标

java - 如何使用 Mapstruct 从具有对象列表和另一个对象的模型实体映射到单个域实体

java - 使用 Hibernate Multi-Tenancy 的分布式查询

java - 密码的正则表达式

java - Android 通知区域自定义

java - 将字符串映射到类(MapStruct)时出现问题

java - 如何测试 MapStruct 映射器实现并模拟其依赖项

java - Oracle 日期没有来自 java 的时间

c# - 使用 JSON 序列化作为持久化机制而不是 RDB

java - 当目标具有与源同名的变量时,使用自定义源和目标变量的 @Mapping 无法按预期工作