我想使用Dozer排除字段,如下所示:
<mapping>
<class-a>com.core.model.Model</class-a>
<class-b>com.core.model.ModelIS</class-b>
<field>
<a>person</a>
<b>person</b>
<a-hint>com.core.Person</a-hint>
<b-hint>com.core.PersonIS</b-hint>
</field>
<field-exclude>
<a>age</a>
<b>age</b>
</field-exclude>
</mapping>
所以类Model包含一个Person对象,而Person有一个age对象,如何从这个映射中排除age? 提前谢谢。
答案 0 :(得分:8)
<field-exclude>
是正确的方法,但它适用于它应用的映射,在本例中是模型类。
如果模型类有一个age
对象,那么(给定您的映射)它将被排除。但是age
对象在对象树中更深,它位于模型中的人员字段中,因此必须在映射人员字段时应用它。
将映射替换为以下映射,它应该可以工作:
<mapping>
<class-a>com.core.model.Model</class-a>
<class-b>com.core.model.ModelIS</class-b>
<field>
<a>person</a>
<b>person</b>
<a-hint>com.core.Person</a-hint>
<b-hint>com.core.PersonIS</b-hint>
</field>
</mapping>
<mapping>
<class-a>com.core.Person</class-a>
<class-b>com.core.PersonIS</class-b>
<field-exclude>
<a>age</a>
<b>age</b>
</field-exclude>
</mapping>