【问题标题】:DOM4J and Hibernate: Dealing with the XMLDOM4J 和 Hibernate:处理 XML
【发布时间】:2010-08-05 18:44:03
【问题描述】:

所以我的 Web 应用程序主要使用 XML 进行客户端到服务器的交互,而我目前正在使用 hibernate 来持久化我的大部分后端。我知道有 XML 数据库,您可以通过使用 DOM4J 实体调用 Sessions 来使用 hibernate 保存 XML,但我不确定提供 XML 的最有效方法是什么。目前,每次请求对象时,我都会从对象字段生成一个 XML 文档,然后提供它。因此,对于每个新请求,我都会生成一个全新的 XML 文档。因此,我可以在第一次请求每个运行时周期期间为每个文档生成 XML,然后将其存储在对象的字段中,这样我就可以针对它运行 XSLT 命令,但这似乎效率低下。我猜每次请求资源时生成一个新的 Document 对象然后在请求得到服务后将其删除(并使用 Hibernate 查询语言进行选择)会更有效...或者我应该使用 Hibernate 或 eXist 持久化 xml ?(我真的不想用xml数据库!)

【问题讨论】:

    标签: java xml hibernate dom4j


    【解决方案1】:

    您可以将 XML 作为 CLOB 或 BLOB 存储在数据库中。如果查询时不需要查看文档内部,只需将关键字段外部化,然后根据这些字段查询 XML。

    【讨论】:

      【解决方案2】:

      关系数据库的主要目的之一是避免重复。如果您有在文档之间共享的对象,并且您将其以 XML 形式存储在每个文档中,那么您必须在更改共享对象时更新所有文档。

      使用 hibernate 以正常的关系方式存储文档对象字段是非常标准的做法,并使用一些 XML 编组器将其转换为 XML 并返回,例如xstream 或 CXF。

      【讨论】:

        猜你喜欢
        • 2018-06-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-11-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多