0
idb:photo 
  idb:uploadName jcr:primaryType="idbt:metaData" idb:value="4.jpg"
  idb:size jcr:primaryType="idbt:metaData" idb:value="276757"
  idb:title jcr:primaryType="idbt:metaData" idb:value="Title: 4.jpg"
idb:photo>

まず第一に、私のコード例を見ることができません! -> {} をクリックして、コードにファイルしました!

たとえば、タイトルが Title: 4.jpg 次のクエリである写真ノードの情報を取得したいと思います。

Query query = queryManager.createQuery("select * from [idbt:photo] as p inner join [idbt:metaData] as c on isdescendantnode(p, c) where c.[idb:value] = 'Title: 4.jpg'", Query.JCR_SQL2);

私の結果セットは空です。一致したノードで満たされているはずです!

なにが問題ですか?

ご挨拶

4

1 に答える 1

0

ノードの格納方法がわかりません。metadata-node/photo-node ですか、それとも photo-node/metadata-node ですか?

クエリにはisdescendantnode(descendent, parent)がありますね。子ノードですか?ischildnodeを試しましたか?http://www.h2database.com/jcr/grammar.html#joinをご覧ください。

どのバージョンの JackRabbit を使用していますか? 結果が空であることはどのようにわかりますか? 何らかの理由で query.execute().getRows.getSize() を使用して最初に結果の総数を取得しようとしている場合は、https://issues.apache.org/jira/browse/JCR-2765 を参照してください。

于 2011-03-04T14:15:12.080 に答える