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

我不明白节点是如何存储的。是元数据节点/照片节点还是照片节点/元数据节点?

在查询中你有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 回答