如何绕过类级别map-null =" false"推土机的特定领域?

时间:2017-11-28 07:44:00

标签: mapping dozer

在下面的映射中,ObjectB已设置为map-null =" false",我认为这意味着ObjectA中的任何null属性都不会设置为ObjectB。

但是,对于某个属性(比如propB),我需要ObjectA成功传递并设置ObjectB的属性,即使它是null。

如何绕过map-null =" false"这个属性?或者我可以做任何解决方法吗?

感谢。

<mapping wildcard="false">
        <class-a>ObjectA</class-a>
        <class-b map-null="false">ObjectB</class-b>
        <field>
            <a>propA</a>
            <b>childB.propA</b>
        </field>
        <field>
            <a>propB</a>
            <b>childB.propB</b>
        </field>
</mapping>

1 个答案:

答案 0 :(得分:0)

我通过在ObjectA和childB之间创建单独的推土机映射来解决此问题。检查下面的推土机映射:

<mapping wildcard="false">
        <class-a>ObjectA</class-a>
        <class-b map-null="false">ObjectB</class-b>
        <field>
            <a>propA</a>
            <b>childB.propA</b>
        </field>
        <field>
            <a>this</a>
            <b>childB</b>
        </field>
</mapping>

<mapping wildcard="false">
        <class-a>ObjectA</class-a>
        <class-b>childB</class-b>
        <field>
            <a>propB</a>
            <b>propB</b>
        </field>
</mapping>

这样,propB可以为null,并且有效,因为它位于不同的映射中。