我偶然发现了 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/