我正在使用 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/