Spring LDAP リポジトリ
Spring LDAP には、Spring Data リポジトリのサポートが組み込まれています。ここでは、基本的な機能と構成について説明します。Spring LDAP リポジトリを使用する場合は、次の点に注意してください。
XML 構成で
<ldap:repositories>
要素を使用するか、構成クラスで@EnableLdapRepositories
アノテーションを使用して、Spring LDAP リポジトリを有効にすることができます。自動生成されたリポジトリに
LdapQuery
パラメーターのサポートを含めるには、インターフェースでCrudRepository
ではなくLdapRepository
を継承します。オブジェクトディレクトリマッピング (ODM) に従って、すべての Spring LDAP リポジトリは、ODM アノテーションでアノテーションが付けられたエンティティと連携する必要があります。
すべての ODM 管理クラスは ID として識別名を持っている必要があるため、すべての Spring LDAP リポジトリは ID 型・パラメーターを
javax.naming.Name
に設定する必要があります。組み込みのLdapRepository
は、1 つの型 パラメーターのみを受け取ります。それは、ID をデフォルトでjavax.naming.Name
に設定するマネージドエンティティクラスです。LDAP プロトコルの仕様により、ページングとソートは Spring LDAP リポジトリではサポートされていません。
QueryDSL のサポート
基本的な QueryDSL サポートは Spring LDAP に含まれています。このサポートには以下が含まれます。
Spring LDAP ODM アノテーションに基づいて QueryDSL クラスを生成するための、
LdapAnnotationProcessor
と呼ばれるアノテーションプロセッサー。ODM アノテーションの詳細については、オブジェクトディレクトリマッピング (ODM) を参照してください。コードで QueryDSL クエリを作成および実行するための
QueryDslLdapQuery
と呼ばれるクエリ実装。QueryDSL 述語の Spring Data リポジトリサポート。
QueryDslPredicateExecutor
には、適切なパラメーターを持つ追加のメソッドが多数含まれています。このインターフェースをLdapRepository
と共に拡張して、このサポートをリポジトリに組み込むことができます。