我试图将XML模式添加到现有的EJB项目中.JAXB用于将XML-Schema绑定到Java类.因为我们将在EJB处于会话期间使用搜索引擎来爬行DTO.
我找不到任何直接的方法来将实体类文件映射到XML-Schema.
到目前为止,我们唯一可以实现的方法是创建Web服务,生成生成xml-schema(XSD)的WSDL,然后通过JAXB(xjc命令)解析XSD文件以创建java类文件.现在使用mapping-binding.xml文件,我们可以映射XML和Java类文件.
但现在又问题是如何将它映射到实体类.
这是我们想要实现的目标:
XML Schema的XML数据对象(这已经存在于JAXB规范中).
然后,实体Bean扩展或具有此JAXB对象的接口.
所有持久性函数都由实体Bean管理...
然后,实体Bean将包含JAXB中的XML编组和UnMarshalling功能.
可以从实体Bean对象以二进制或XML形式检索值对象.
JSP可以轻松地从Value Object中提取XML Schema和XML Data,并对其执行操作,例如XSL转换.
我的论点是Entity Beans没有标准的方法来连接JAXB对象.
Castor可能是解决方案,但我们必须再次实现Web服务或使用castor JDO.
我发现XStream非常有用,因为它使用转换器类,您可以在其中调用实体bean类对象并生成xml文件.但我不喜欢使用另一个类,而是将函数合并到现有的bean类中.
你能帮我这方面吗?
我会告诉你我实际上想要实现的目标.我正在创建一个搜索引擎,它将在EJB会话期间被激发,并将通过DTO使用爬虫并以XML格式获取快照.搜索将根据不同的标准.
Lucene是搜索引擎工具之一,但它使用自己的属性和文件(将更像独立)
我已经有了Web服务使用的DTO,用于在PHP和Java应用程序(EJB层)之间进行通信.我想重新使用jaxb中的那些DTO作为爬虫来获取XML中的表的输出,这是我无法做到的,因为JAXB通过xml-schema使用自己生成的类.就像你说的那样,我还没有找到一种方法来指导JAXB的bean类.