【问题标题】:Persist DOM tree with JPA as String使用 JPA 作为字符串持久化 DOM 树
【发布时间】:2013-02-14 15:01:46
【问题描述】:

我有以下问题。我有一个 JPA 实体,其中包含 org.w3c.dom.Document 类型的属性。我不能,我也不想单独保存 DOM 树的每个对象。我更想要的是将 DOM 树表示的 XML 转换为 String 并将此 String 保存到数据库中。当我重新加载对象时,我希望我的对象解析 DOM 树并重新初始化属性。 JPA 可以做到这一点吗?

谢谢。

【问题讨论】:

    标签: java xml hibernate dom jpa


    【解决方案1】:

    当然可以。

    您需要做的是将 dom 树视为custom type

    【讨论】:

    • 感谢您的回答。但这正是我想要避免的。 org.w3c.dom 类层次结构相当复杂,我不想指定如何将其作为对象保存到数据库中。但没问题。经过一些额外的搜索和阅读,我找到了答案。
    • 你假设我说将 dom 定义为自定义类型,但我不是:我说的是定义你自己的表示形式,即使它只是一个字符串。
    • 但这仅适用于 Hibernate。我需要坚持使用纯 JPA。
    • 回顾:我向你指出了这一点,你说不,然后你编辑了你的答案以采用相同的方法,但现在你也不喜欢这样吗?好笑。是的,你说得对,它只是休眠。哥们,开个课吧!称它为 Dom 之类的东西(在你的包中),然后只有一个构造函数来获取树,其中的一个属性是一个字符串。这会得到正确的持久化吗?
    【解决方案2】:

    经过一番额外的搜索,我终于找到了答案。您只需要告诉 JPA 将其保存为 Blob,其中包含元素内的 xml 文档。

    编辑: 事实证明,这是行不通的。我想我在这里找到了一个可行的解决方案:Storing Objects in columns using Hibernate JPA

    【讨论】:

      猜你喜欢
      • 2019-01-07
      • 1970-01-01
      • 2010-12-24
      • 1970-01-01
      • 1970-01-01
      • 2013-01-02
      • 2013-11-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多