我使用的应用程序可以操作JCR节点,通常您可以重命名、删除、删除或移动它们。
使用JCR,我可以访问存储库中的节点,并以与JCR中的节点相同的顺序返回一组节点。
我希望能够使用JCR SQL2查询进行同样的操作。我没有发现这方面的任何情况&现在开始相信这是不可能的。
例如,如果我有一个JCR树,如:
parentNode
|_childNode1
|_childNode2
|_childNode3
|_childNode4当使用JCR SQL2查询时,它将按照与childNode1、childNode2、childNode3、childNode4不同的顺序返回它们。
我查看了其中的文档:http://docs.jboss.org/jbossdna/0.7/manuals/reference/html/jcr-query-and-search.html#jcr-sql2-query-language Query.html
提前感谢
编辑:如果在搜索中使用Java是一个选项,您可能需要查看java在JCR回购中的递归搜索
可能不是最有效的,所以请注意性能的影响。
发布于 2013-06-11 10:54:24
您是否尝试将属性"respectDocumentOrder“设置为野兔搜索配置中的true?
如果为true,且查询不包含“order”子句,则结果节点将按文档顺序排列。为了获得更好的性能,当查询返回许多设置为'false‘的节点时(在1.5中,'false’现在是默认的)。
只有在需要时,才应该将其设置为true,因为查询结果将在Java中被完全迭代,以便对它们进行排序。
发布于 2013-06-07 16:03:16
指定查询结果顺序的唯一方法是在查询中使用ORDER BY子句。如果没有,则实现可以按它想要的顺序返回节点。
但我不知道在JCR 2中如何指定父节点下子节点的“自然顺序”(我的术语)。
https://stackoverflow.com/questions/16980029
复制相似问题