我正在尝试将自己的(自定义)findMembersByName方法添加到我的couchbase存储库中。
我的代码如下所示:
public interface MembersRepository extends PagingAndSortingRepository<Member, Long>, MembersRepositoryCustom {
@Query("#{#n1ql.selectEntity} WHERE (IFMISSING(firstname,'') || ' ' || IFMISSING(lastname,'')) LIKE $1 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'参数传递给statement是一个问题。
当我使用分页时,如何传递额外的参数进行查询?
答案 0 :(得分:1)
使用内联的N1QL查询,页面/切片查询没有多大意义。
这是因为根据定义,每个新页面必须使用稍微修改的查询(在当前页面上限制和偏移)。这不是我们用普通的String语句支持的。
(注意:但是,此特定消息可能仍来自Spring Data Commons
)