4

null のすべてのオブジェクトをエラーではなく null にマップする方法を探してい"org.dozer.MappingException: Source object must not be null"ます。すべてのクラスを列挙して、null が null にマップされるとは言いたくありません。これを原則として指定したいと思います。

4

1 に答える 1

6

これは一般的な例外であり、 nullオブジェクトをトップレベルのBeanとしてmapper.map(src、dest)メソッドに渡してはならないというものです。したがって、Dozerを呼び出す前にガードチェックを行うと役立つはずです。

if (src == null) return null;
return dozer.map(src, dest);

さらに、「map-null」ポリシーはデフォルトで有効になっていますが、マップするBean内の要素にのみ適用されます(トップレベルではありません)。したがって、Dozer'user.id'はnull値の場合に適切にマップします。次のバージョンでは、各クラスを指定せずに、グローバルレベルでも「map-null」を適用できるようになります。ただし、これはnullマッピングを無効にするのに役立つだけです。これは、デフォルトで有効になっているためです。

于 2013-02-11T15:02:58.357 に答える