使用DOZER进行映射而不设置方法

时间:2015-03-24 14:30:39

标签: java dozer

我正在尝试转换两个具有java.util.List类型属性的类,但其中一个类没有方法“set *”只有方法“get *”,如下所示:

<mapping>
        <class-a>com.mycompany.bean.SocioPj</class-a>
        <class-b>com.mycompany.jaxb.SocioPjXml</class-b>
        <field>
            <a set-method="getListaSocios().add">listaSocios</a>
            <b>listaSocios</b>
            <a-hint>com.mycompany.bean.SocioPf,com.mycompany.bean.SocioPj</a-hint>
            <b-hint>com.mycompany.jaxb.SocioPfXml,com.mycompany.jaxb.SocioPjXml</b-hint>
        </field>
    </mapping>

上面的例子:当我试图转换时,SocioPj没有方法setListSocios()我抓住了这个错误:

[Time:2015-03-24 11:29:08,055][Level:ERROR][Thread:http-bio-8080-exec-10][OnboardingCCMFulfillmentImpl] org.dozer.MappingException: java.lang.ClassNotFoundException: /add

有没有人遇到这个问题?

1 个答案:

答案 0 :(得分:0)

您可以告诉Dozer在不调用getter / setter的情况下直接访问该字段(即使该字段为private):

<field>
    <a is-accessible="true">listaSocios</a>
    <b>listaSocios</b>
</field>