【问题标题】:Oracle XML DB and the Java Persistence APIOracle XML DB 和 Java Persistence API
【发布时间】:2012-11-08 23:32:59
【问题描述】:

我偶然发现了 Oracles XML DB 功能,但到目前为止,从我的阅读中我只看到了 JDBC 实现的示例。

这是示例之一:

import oracle.xdb.XMLType;
...
PreparedStatement stmt =  conn.prepareStatement(
  "SELECT e.poDoc FROM po_xml_tab e" ); 
ResultSet rset = stmt.executeQuery(); 

while( rset.next() ) { 
    // get the XMLType 
    XMLType poxml = ( XMLType )rset.getObject( 1 ); 
    // get the XML as a string...
    String poString = poxml.getStringVal();
}

根据官方xml db developers guide,可以选择以对象关系(结构化)格式存储数据。这让我认为 XML DB 和 JPA 之间应该有一个几乎无缝的链接。也许我遗漏了什么,或者它根本不存在?

他们可以一起工作吗?除了 JDBC 还有其他选择吗?或者我可以只为查询做 JPA,为 XML 做 JDBC?

编辑: Oracle XML DB 是否值得使用?因为它看起来不像有人使用它(根据目前的观点和回应)。

【问题讨论】:

    标签: oracle jpa persistence relational-database


    【解决方案1】:

    您可以使用 JPA 的 Oracle XDB 功能。如果您有一个 XMLType 列,您可以使用 @Basic 映射到字符串将其映射到 JPA 实体。

    在 EclipseLink 中,您可以使用 Converter 将其映射到另一种数据类型,或使用 DirectToXMLTypeMapping 映射 DOM。

    如果要将 XML 映射到对象,可以使用使用 JAXB 的转换器。

    【讨论】:

    • 谢谢!我可能想使用 JAXB 映射到对象,您知道使用 Converter 的任何好的资源吗?
    猜你喜欢
    • 1970-01-01
    • 2012-05-03
    • 2014-08-30
    • 1970-01-01
    • 2011-04-07
    • 2011-02-28
    • 2017-09-09
    • 2016-03-26
    • 1970-01-01
    相关资源
    最近更新 更多