5

私は、JCR ノードを操作できるアプリケーションを使用しています。通常は、名前の変更、削除、削除、または移動を行います。

JCR API を使用して、リポジトリ内のノードにアクセスし、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 http://www .day.com/specs/jcr/2.0/6_Query.html

前もって感謝します


編集: 検索に使用するオプションがある場合は、 Java 経由で JCR リポジトリの再帰検索Javaを確認することをお勧めします。

ただし、おそらく最も効率的ではないため、パフォーマンスへの影響に注意してください。

4

2 に答える 2

4

Jackrabbit 検索設定でプロパティ「respectDocumentOrder」を true に設定しようとしましたか?

true でクエリに「order by」句が含まれていない場合、結果ノードはドキュメント順になります。クエリが「false」に設定された多くのノードを返す場合のパフォーマンスを向上させるため (1.5 では「false」がデフォルトになっています)。

クエリ結果は並べ替えるために Java で完全に反復されるため、本当に必要な場合にのみ true に設定してください。

于 2013-06-11T10:54:24.020 に答える