根据此示例,您可以使用 Dozer 进行深度映射:
http://dozer.sourceforge.net/documentation/deepmapping.html
Run Code Online (Sandbox Code Playgroud)<mapping> <class-a>com.github.dozermapper.core.vo.deep.SrcDeepObj</class-a> <class-b>com.github.dozermapper.core.vo.deep.DestDeepObj</class-b> <field> <a>srcNestedObj.src1</a> <b>dest1</b> </field> <field> <a>srcNestedObj.src2</a> <b>dest2</b> </field> <field> <a>srcNestedObj.srcNestedObj2.src5</a> <b>dest5</b> </field> </mapping>
同样,我想排除几个嵌套的对象和字段,所以我尝试了同样的方法:
Run Code Online (Sandbox Code Playgroud)<mapping map-id="case1" map-null="false"> <class-a>com.server.dal.entities.ClassA</class-a> <class-b>com.server.dal.dto.ClassB</class-b> <field-exclude> <a>childObj1.childObj2</a> <b>childObj1.childObj2</b> </field-exclude> <field-exclude> <a>childObj1.childObj3.testMap</a> <b>childObj1.childObj3.testMap</b> </field-exclude> </mapping>
但这并没有按预期工作。有没有其他方法可以排除嵌套对象的字段?