使用Dozer在类映射中排除不同的命名字段

时间:2014-07-28 12:24:29

标签: java mapping dozer

我有一个 A类带字段" mapEntries" - 这是一个清单, B级带有"条目" - 它是列表中的包装类。

我需要将A类映射到B类。虽然映射我需要排除"条目"领域。 我怎样才能做到这一点?我已尝试过两种方式并且两种方式都排除但是它不起作用。

仅当字段在src和dest类中具有相同名称时,完整(双方)排除似乎才有效。

单向排除:

<field-exclude type="one-way"> <a>mapEntries</a> <b>entries</b> </field-exclude>

两种方式排除:

    <field-exclude>
        <a>mapEntries</a>
        <b>entries</b>
    </field-exclude>

我在这些类中也有很多其他字段,因此使用通配符不是一种选择。

<mapping map-null="false">
    <class-a>ClientClass</class-a>
    <class-b>ProductClass</class-b>

    <field-exclude>
        <a>mapEntries</a>
        <b>entries</b>
    </field-exclude>
</mapping>

通过此映射,字段不会被排除在外。产品类具有getter / setter作为setMapEntries()和getMapEntries()。这似乎是原因。该控件确实在getMapEntries()中到达。我无法更改产品代码。 如果我将Client字段重命名为条目,同时保持客户端和产品字段相同,则它可以正常工作并且映射将被排除。

任何帮助都将不胜感激。

0 个答案:

没有答案