Query Methods
你通常在仓库上触发的多数数据访问操作会导致针对 LDAP 目录运行查询。定义这样的查询是声明仓库界面上的一个方法的问题,如下例所示:
Most of the data access operations you usually trigger on a repository result in a query being run against the LDAP directory. Defining such a query is a matter of declaring a method on the repository interface, as the following example shows:
interface PersonRepository extends PagingAndSortingRepository<Person, String> {
List<Person> findByLastname(String lastname); 1
List<Person> findByLastnameFirstname(String lastname, String firstname); 2
}
1 | 该方法显示了对具有给定 lastname 的所有人的查询。该查询是通过解析方法名称针对可与 And 和 Or 连接的约束导出的。因此,方法名称导致 (&(objectclass=person)(lastname=lastname)) 的查询表达式。 |
2 | The method shows a query for all people with the given lastname .
The query is derived by parsing the method name for constraints that can be concatenated with And and Or .
Thus, the method name results in a query expression of (&(objectclass=person)(lastname=lastname)) . |
3 | 该方法显示了对具有给定 lastname 和 firstname 的所有人的查询。该查询是通过解析方法名称导出的。因此,方法名称导致 (&(objectclass=person)(lastname=lastname)(firstname=firstname)) 的查询表达式。 |
4 | The method shows a query for all people with the given lastname and firstname .
The query is derived by parsing the method name.
Thus, the method name results in a query expression of (&(objectclass=person)(lastname=lastname)(firstname=firstname)) . |
下表提供了使用查询方法时可用的关键字示例:
The following table provides samples of the keywords that you can use with query methods:
Keyword | Sample | Logical result |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|