为什么我要将MetadataSourceAdapter与MOXy一起使用而不是直接访问XML映射文件?

时间:2014-10-23 13:18:08

标签: java jaxb moxy

我对JAXB / MOXy专家提出了一个问题:

为什么我应该扩展MetadataSourceAdapter以将XML映射文件与bean相关联,而不是直接在JAXBContext中加载映射文件?

1 个答案:

答案 0 :(得分:0)

简答

  

为什么我应该扩展MetadataSourceAdapter来关联XML映射   带有bean的文件,而不是直接加载中的映射文件   JAXBContext?

你不应该。如果您的元数据位于映射文件中,那么您应该以这种方式使用它:

Map<String, Object> properties = new HashMap<String, Object>(1);
properties.put(JAXBContextFactory.ECLIPSELINK_OXM_XML_KEY, "com/example/oxm.xml);
JAXBContext jc = JAXBContext.newInstance("com.example", Foo.class.getClassLoader() , properties);

我应该何时延长MetadataSourceAdapter

MetadataSource接口和框架MetadataSourceAdapter实现允许您将元数据作为与映射文档对应的Java对象模型传递。使用JAXB从映射文档的XML Schema生成此对象模型。当您想以编程方式构建元数据时,它非常有用。以下是我博客中的一个示例,演示了如何使用它。