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