我有一个源pojo类,它引用另一个pojo类,它在链中,我得到上面的错误。
我的代码是
List myMappingFiles = new ArrayList();
myMappingFiles.add("dozerMapping.xml");
// myMappingFiles.add("someOtherDozerBeanMappings.xml");
DozerBeanMapper mapper = new DozerBeanMapper();
mapper.setMappingFiles(myMappingFiles);
mapper.map(gsrlObject,temp, "a");
我的dozermapping.xml文件是
<?xml version="1.0" encoding="UTF-8"?>
<mappings xmlns="http://dozer.sourceforge.net"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://dozer.sourceforge.net http://dozer.sourceforge.net/schema/beanmapping.xsd">
<mapping map-id="a">
<class-a>com.dnb.dsc.ihx.bom.GSRL</class-a>
<class-b>com.ihx.model.Subj</class-b>
<field>
<a>gsrlObject.GSRLMSGSRQV1a.SUBJUPDTRNRQList[0].SUBJUPDRQList[0].INVTDATAList[0].PAYLHDR.SUBJID</a>
<b>subjId</b>
</field>
</mapping>
</mappings>
关于此的任何帮助
感谢
答案 0 :(得分:1)
这意味着 dozerMapping.xml 属性不匹配或实体类中不存在该属性。
答案 1 :(得分:0)
因此,Dozer无法将您的源路径映射到方法:
gsrlObject.GSRLMSGSRQV1a.SUBJUPDTRNRQList[0].SUBJUPDRQList[0].INVTDATAList[0].PAYLHDR.SUBJID
如果没有看到所有对象的完整结构,很难说哪个部分会导致问题,但是在猜测时,我会说:gsrlObject是GSRL类的一个实例,在这种情况下采取这个一个,它可能会工作。尝试一次添加1个源路径的每个部分,以查看映射的哪个部分导致问题。