【发布时间】:2016-06-11 06:46:28
【问题描述】:
我正在为 cassandra 使用 Datastax 的可爱 java 驱动程序。我试图将所有查询字符串封装到内置访问器中以进行映射,但我需要能够为查询设置分页状态。
我发现使用普通语句 (SimpleStatement) 可以做到这一点,但我还没有找到访问器的相应功能。它是否存在,或者我是否跳过使用访问器来实现此功能?
【问题讨论】:
我正在为 cassandra 使用 Datastax 的可爱 java 驱动程序。我试图将所有查询字符串封装到内置访问器中以进行映射,但我需要能够为查询设置分页状态。
我发现使用普通语句 (SimpleStatement) 可以做到这一点,但我还没有找到访问器的相应功能。它是否存在,或者我是否跳过使用访问器来实现此功能?
【问题讨论】:
我同意这将是非常好的。
目前处理此问题的一种方法是让您的访问者返回一个声明,即:
@Query("SELECT * FROM ks.tbl WHERE id = ?")
Statement getAllById(@Param("id") UUID userId);
然后在返回的Statement 上调用setPagingState 并执行它。
我同意这不如将分页状态作为参数提供给访问器好,所以我继续打开JAVA-1103。
【讨论】:
您可以使用Achilles:
manager
.select()
.allColumns_FromBaseTable()
.where()
.partitionKey_Eq(...)
...
.withPagingState(PagingState.fromString(...))
.getList();
【讨论】: