0

我有一个带有 XML 的数据库列。我正在使用JPA(eclipselink)来访问它。数据库是oracle,所以我使用oracle.xdb.XMLType and a @Customizer注释。这一切都很好。

现在我需要使用CriteriaBuilderwhere 子句中的 XML 列创建查询。

基本上我需要重新创建它CriteriaBuilder(我确实有 CriteriaBuilder 为非 XML 列工作):

SELECT id, somecolumn, xmlcol FROM sometable WHERE EXTRACTVALUE(xmlcol,'//path/path')='somevalue'; 

知道怎么做吗?

谢谢。

4

1 回答 1

1

您应该能够使用 JPA CriteriaBuilder function() API 来调用此函数。

如果您需要做一些更高级的事情,您可以使用 EclipseLink 表达式查询,或混合表达式和标准,

http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Basic_JPA_Development/Querying/Criteria#JpaCriteriaBuilder_and_EclipseLink_Extensions

于 2012-06-25T14:14:04.137 回答