CriteriaBuilder where子句与XMLType

时间:2012-06-22 22:52:44

标签: oracle jpa oracle11g jpa-2.0 eclipselink

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

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

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

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

知道怎么做吗?

感谢。

1 个答案:

答案 0 :(得分:1)

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

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

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