如何使用Cassandra Java驱动程序(版本3.6)在Cassandra访问器接口中传递分页状态?

时间:2019-06-12 06:09:25

标签: java cassandra

我们有一项要求,允许在cassandra访问器结果中进行分页。 我们有@Accessor注释的接口,带有@Query注释的方法签名,这些签名返回Result。 在@QueryParameters批注中可以为查询传递页面大小的选项,但是如果对查询结果进行分页,则无法传递页面状态来获取下一组记录。在不更改访问器接口的返回类型的情况下如何实现?

我已经尝试过在此提到的解决方案:

Cassandra Datastax Driver set paging state on Accessor

但这需要我更改访问器方法以返回Statement对象而不是Result,这是不可接受的。

有更好的方法吗?

请注意,我们没有使用Spring框架(不幸的是!)

1 个答案:

答案 0 :(得分:0)

将访问器与setPagingState结合使用是最稳定的解决方案,无论表的大小如何,它都将使您具有相同的查询行为和性能,因为它将以固定的数量进行处理一次记录的数量。