34

コード内のさまざまなビジネス ユース ケース間で共有される大きなモデル (50 を超えるフィールド) で MapStruct を使用しています。エントリ ポイントに応じて、マップされるプロパティとマップされないプロパティがあります。プロジェクトをビルドすると、常に「警告: マップされていないターゲット プロパティ」というメッセージが表示されます。

セマンティックを使用してフィールドを無視するようにmapstructに指示できることを調査し、見ました

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

問題は、非常に多くのフィールドを持つオブジェクトを考えると、各マッパー クラスの各プロパティを無視するには多くのコードが必要になることです。また、ログにこの警告を表示したくありません。このメッセージを回避して、マップされていないものを無視するように mapstruct に指示する方法はありますか?

4

2 に答える 2

60

@Mapperレベルまたは経由で「マップされていないターゲット ポリシー」を@MapperConfig設定して、複数のマッパー間で設定を共有できます。

@Mapper(unmappedTargetPolicy = ReportingPolicy.IGNORE)
public interface MyMapper {}
于 2016-04-25T09:55:48.540 に答える