代码之家  ›  专栏  ›  技术社区  ›  jeff porter ichak khoury

Java:XML进入数据库,最简单的方法是什么?

  •  11
  • jeff porter ichak khoury  · 技术社区  · 14 年前

    我有很多XML文件,还有一个XSD。

    我想简单地将其转换为POJO并将其插入数据库。

    我看了很多api,但是想知道什么是最有效的。

    • JAXB公司?
    • XPATH到DBUnit?

    hibernate是否有一些api从XSD创建POJO,然后将XML读入POJO,然后将数据插入数据库?

    我想我只是想看看你的观点,万一我错过了一个API,它可以帮助我做我想做的事情。

    谢谢

    3 回复  |  直到 14 年前
        1
  •  3
  •   duffymo    14 年前

    或者您可以绕过转换为pojo的步骤,直接将XML存储为CLOB。稍后它将允许“duck-typing”,您可能会发现这是有利的。

    如果以后需要单独查询这些对象,那么映射到javapojo是有意义的。如果您一直需要整个流,而不必查询XML(例如XPath)中的值,那么我认为将XML存储为CLOB更有意义。

        2
  •  2
  •   Community CDub    8 年前

    下一步,您可以将XML视为希望存储的完整实体。在这种情况下,您希望将其存储为CLOB或XML(在Oracle中)。 Oracle certainly supports 基于XPath的搜索,这样您就可以很好地查询结果数据集。

    最后,如果您认为XML过于臃肿,并且您可以控制对POJO所做的任何更改,那么可以将未编排的POJO作为blob直接序列化到数据库中。您将有一个相当紧凑的模式和数据库,但当涉及到查询时,您会受到影响,因为它都是二进制的。如果必须基于旧pojo对非常旧的数据集进行反序列化,那么以后还会出现二进制版本兼容性问题。

    @Blaise Doughan

        3
  •  0
  •   bdoughan    14 年前

    一种常见的方法是使用JPA(即。 EclipseLink EclipseLink MOXy (我是技术负责人)或JaxMe)将对象转换为XML。

    EclipseLink JAXB(MOXy)有许多用于将JPA实体映射到XML的扩展: