簡體   English   中英

Dozer - 排除嵌套對象

[英]Dozer - Excluding nested Objects

根據此示例,您可以使用 Dozer 進行深度映射:

http://dozer.sourceforge.net/documentation/deepmapping.html

 <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>

同樣,我想排除幾個嵌套的對象和字段,所以我嘗試了同樣的方法:

 <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>

但這並沒有按預期工作。 有沒有其他方法可以排除嵌套對象的字段?

您可以按如下方式排除嵌套對象:

 <mapping map-id="caseClassA" map-null="false"> <class-a>com.server.dal.entities.ClassA</class-a> <class-b>com.server.dal.dto.ClassB</class-b> <field map-id="excludeSubItem1"> <a>childObj1</a> <b>childObj1</b> </field> </mapping>
 <mapping map-id="excludeSubitem1" map-null="false"> <class-a>com.server.dal.entities.ClassChild1</class-a> <class-b>com.server.dal.dto.ClassChild1</class-b> <field-exclude> <a>childObj2</a> <b>childObj2</b> </field-exclude> <field map-id="excludeSubItem2"> <a>childObj3</a> <b>childObj3</b> </field> </mapping>
 <mapping map-id="excludeSubitem2" map-null="false"> <class-a>com.server.dal.entities.ClassChild3</class-a> <class-b>com.server.dal.dto.ClassChild3</class-b> <field-exclude> <a>testMap</a> <b>testMap</b> </field-exclude> </mapping>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM