LDAPクエリのフィルターを作成するのに問題があります。
PersonとServiceの2つのオブジェクトクラスがあります。データベースは多数の個人で構成されており、各個人は子として0個以上のサービスを持っています。各人には識別子、personNumber属性があります。個人番号を指定して、複数の人とそのすべてのサービスを選択したいと思います。1つのクエリでこれを行うことは可能ですか?
たとえば、次のオブジェクトのセットがある場合:
personNumber=1,ou=root,o=org
serviceNumber=1,personNumber=1,ou=root,o=org
serviceNumber=2,personNumber=1,ou=root,o=org
personNumber=2,ou=root,o=org
serviceNumber=3,personNumber=2,ou=root,o=org
personNumber=3,ou=root,o=org
serviceNumber=4,personNumber=3,ou=root,o=org
、人物番号1と2が与えられた場合、これらのオブジェクトを取得することは可能ですか。
personNumber=1,ou=root,o=org
serviceNumber=1,personNumber=1,ou=root,o=org
serviceNumber=2,personNumber=1,ou=root,o=org
personNumber=2,ou=root,o=org
serviceNumber=3,personNumber=2,ou=root,o=org
しかし、これらではありません:
personNumber=3,ou=root,o=org
serviceNumber=4,personNumber=3,ou=root,o=org
、1つのクエリのみを使用しますか?これは一例です。ロードする識別子を3つ以上持つことができます。それらは先験的には知られていません。
また、大きなフィルターIN (..)
を生成する以外に、SQLの句のように、属性値を値のコレクションに含めるように指定する方法はありますか?(|(a=..)(a=..)(a=..)..)