1

我正在尝试将我自己的(自定义)findMembersByName 方法添加到我的沙发库存储库中。

我的代码如下所示:

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!

如果我删除分页,一切正常,所以我的查询很好。将“名称”参数传递给语句存在问题。

当我使用分页时,我应该如何传递额外的参数来查询?

4

1 回答 1

1

Page/Slice 查询对于内联 N1QL 查询没有多大意义。

这是因为根据定义,每个新页面都必须使用稍微修改的查询(在当前页面上进行限制和偏移)。这不是我们用纯字符串语句支持的东西。

(注意:但是,此特定消息可能仍来自 中的错误Spring Data Commons

于 2016-01-19T19:02:18.117 回答