Override JAXB annotation Mapping with MOXY oxm binding file

半世苍凉 提交于 2019-12-06 12:52:18

You could do the following:

External mapping file (bindings-foo.xml):

<?xml version="1.0"?>
<xml-bindings xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/oxm"
    package-name="com.foo" xml-mapping-metadata-complete="true">
    <java-types>
        <java-type name="OverridedMappingClass"
            xml-accessor-type="FIELD">
        </java-type>
        <java-type name="OverridedMappingClass2"
            xml-accessor-type="FIELD">
        </java-type>
    </java-types>
</xml-bindings>

Code to create JAXBContext on external mapping file:

    Map<String, Object> props = new HashMap<String, Object>(1);
    props.put(JAXBContextProperties.OXM_METADATA_SOURCE, "com/bindings/bindings-foo.xml");
    try
    {
        jaxbContext = JAXBContext.newInstance(new Class[] { OverridedMappingClass, OverridedMappingClass2}, props);
    }
    catch (JAXBException e)
    {
        m_logger.error("Could not build the JAXBContext", e);
    }
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!