2016-04-22 36 views
4

MapStructを使用して、コード内のさまざまなビジネスユースケース間で共有される大きなモデル(50個以上のフィールド)を使用しています。エントリポイントによっては、一部のプロパティがマップされ、一部のプロパティはマップされません。プロジェクトをビルドするときは、常に「警告:マッピングされていないターゲットプロパティ」というメッセージが表示されます。MapStructはマッピングされていないプロパティを自動的に無視します

は私が研究し、非常に多くの分野で私のオブジェクトを与えられているセマンティック

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

問題を使用してフィールドを無視するmapstructを伝えることが可能であることを見てきました、それは多くのかかるだろう各マッパークラスの各単一のプロパティを無視するコード。私はまた、私のログにこの警告が欲しくない。このメッセージを避けて、マップされていないものを無視するようにmapstructに指示する方法はありますか?

答えて

18

あなたは、いくつかのマッパー間で設定を共有する@Mapperレベルまたは@MapperConfigを経由して「マップされていないターゲット・ポリシー」を設定することができます。完全に働いた

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

おかげで、。 –

+0

メソッドレベルで同じことをする何かがありますか? – TheBakker

関連する問題