@Query with spring-data-couchbase 中的 Pageable 参数
@Query with Pageable parameter in spring-data-couchbase
我正在尝试将我自己的(自定义)findMembersByName 方法添加到我的 couchbase 存储库中。
我的代码如下所示:
public interface MembersRepository extends PagingAndSortingRepository<Member, Long>, MembersRepositoryCustom {
@Query("#{#n1ql.selectEntity} WHERE (IFMISSING(firstname,'') || ' ' || IFMISSING(lastname,'')) LIKE AND #{#n1ql.filter}")
Page<Member> findMembersByName(String name, Pageable pageable);
}
但是如果我尝试 运行 这种方法,我会得到异常:
org.springframework.data.repository.query.ParameterOutOfBoundsException: Invalid parameter index! You seem to have declare too little query method parameters!
如果我删除分页,一切正常,所以我的查询没问题。
将 'name' 参数传递给语句时出现问题。
使用分页时,如何传递附加参数给查询?
Page/Slice 查询对于内联 N1QL 查询没有多大意义。
这是因为根据定义,每个新页面都必须使用稍微修改过的查询(在当前页面上进行限制和偏移)。这不是我们用普通字符串语句支持的东西。
(注意:但是,此特定消息可能仍然来自 Spring Data Commons
中的错误)
我正在尝试将我自己的(自定义)findMembersByName 方法添加到我的 couchbase 存储库中。
我的代码如下所示:
public interface MembersRepository extends PagingAndSortingRepository<Member, Long>, MembersRepositoryCustom {
@Query("#{#n1ql.selectEntity} WHERE (IFMISSING(firstname,'') || ' ' || IFMISSING(lastname,'')) LIKE AND #{#n1ql.filter}")
Page<Member> findMembersByName(String name, Pageable pageable);
}
但是如果我尝试 运行 这种方法,我会得到异常:
org.springframework.data.repository.query.ParameterOutOfBoundsException: Invalid parameter index! You seem to have declare too little query method parameters!
如果我删除分页,一切正常,所以我的查询没问题。 将 'name' 参数传递给语句时出现问题。
使用分页时,如何传递附加参数给查询?
Page/Slice 查询对于内联 N1QL 查询没有多大意义。
这是因为根据定义,每个新页面都必须使用稍微修改过的查询(在当前页面上进行限制和偏移)。这不是我们用普通字符串语句支持的东西。
(注意:但是,此特定消息可能仍然来自 Spring Data Commons
中的错误)