2013-02-11 75 views
3

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

回答

5

这一个是通用的异常说,你不应该通过对象作为一个顶级的bean mapper.map(SRC,DEST)方法。因此在调用Dozer之前进行警戒检查应该有所帮助。

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

此外,“地图空”策略默认是启用的,但它仅适用于要映射(不是顶级)豆中的元素。所以如果它是空值,推土机将正确映射'user.id'。在未来的版本将有可能对全球范围内适用“地图空”以及无指定每个类。然而,这只会有助于禁用空映射,因为它是默认启用的。