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と共に拡張して、このサポートをリポジトリに組み込むことができます。