始终将null对象映射为null

时间:2013-02-11 10:35:46

标签: dozer

我正在寻找一种方法将每个null对象映射到null而不是"org.dozer.MappingException: Source object must not be null"错误。 我不想枚举每个类并说null映射为null,我想将其指定为一般规则。

1 个答案:

答案 0 :(得分:6)

这是一个通用异常,表示不应将 null 对象作为顶级bean传递给 mapper.map(src,dest)方法。所以在调用Dozer之前进行防范检查应该有所帮助。

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

此外,默认情况下启用'map-null'策略,但它仅适用于要映射的bean内部的元素(不是顶级)。因此,如果Dozer为空值,Dozer将正确映射'user.id'。在下一个版本中,可以在全局级别应用'map-null',而无需指定每个类。但是,这只会有助于禁用空映射,因为它默认启用。