Oracle XML DB 和 Java 持久性 API

标签 oracle jpa persistence relational-database

我偶然发现了 Oracle 的 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 进行查询,使用 JDBC 进行 XML 吗?

编辑: Oracle XML DB 值得使用吗?因为看起来没有人使用它(根据迄今为止的观点和回应)。

最佳答案

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

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

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

关于Oracle XML DB 和 Java 持久性 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13481014/

相关文章:

SQL 正则表达式 - 替换为另一个字段中的子字符串

java - <mapped-superclass> 中的 JPA ORM.xml 映射文件无法将 <basic> 放在一起 <id > 或 <version >

java - 在 JPA 中注释包含非实体类的 Map

java - 作为数据传输对象的持久化实体

mysql - 稳定/可重复的随机排序(MySQL、Rails)

java - weblogic 中的热修复

java - 创建语句失败

sql - 甲骨文 SQL : How to display a HH24:MI:SS as "Hours: #, Minutes #, Seconds #"?

java - 需要 JPA 内连接查询语法帮助

android - 实例化和关闭 Realm 实例