0

XML を含むデータベース列があります。JPA(eclipselink) を使用してアクセスしています。データベースはオラクルなので、oracle.xdb.XMLType and a @Customizerアノテーションを使用しています。それはすべてうまくいきます。

ここで、 を使用しCriteriaBuilderて、where 句で XML 列を使用するクエリを作成する必要があります。

基本的に、これを再作成する必要がありますCriteriaBuilder(XML 以外の列で動作する CriteriaBuilder があります):

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

これを行う方法はありますか?

ありがとう。

4

1 に答える 1

1

JPA CriteriaBuilder function() API を使用して、この関数を呼び出すことができるはずです。

より高度なことを行う必要がある場合は、EclipseLink Expression クエリを使用するか、Expression と Criteria を組み合わせることができます。

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

于 2012-06-25T14:14:04.137 に答える