Java 行迭代器无法与Cassandra分页中的页迭代器同步

Java 行迭代器无法与Cassandra分页中的页迭代器同步,java,cassandra,datastax-java-driver,Java,Cassandra,Datastax Java Driver,我有一张有500条记录的“person”表 int pageSize = 5; Select selectStatement=QueryBuilder.select().from("person"); selectSt.setFetchSize(5); ResultSet results = session.execute(selectStatement); int pageCounter = 0; // I need records that are in page 2 and page 3

我有一张有500条记录的“person”表

int pageSize = 5;
Select selectStatement=QueryBuilder.select().from("person");
selectSt.setFetchSize(5);
ResultSet results = session.execute(selectStatement);
int pageCounter = 0;
// I need records that are in page 2 and page 3 only

while(!results.isExhausted())
{   
            if (results.getAvailableWithoutFetching() <= pageSize ) 
             {
                   pageCounter ++;

                   if(pageCounter == 2 || pageCounter == 3) {
                  //this is the code with issue where the records are printed from first row of page 1
                        Iterator<Row> rowsIterator = results.iterator();
                        while (rowsIterator.hasNext()) {
                            Row row = rowsIterator.next();
                            System.out.println("row:"+row);
                    }
              } 

              if(pageCounter>=3) break;

              if(!results.isFullyFetched())
                  results.fetchMoreResults()
}
intpagesize=5;
选择selectStatement=QueryBuilder.Select()。从(“个人”);
选择st.setFetchSize(5);
ResultSet results=session.execute(selectStatement);
int pageCounter=0;
//我只需要第2页和第3页的记录
而(!results.isexhousted())
{   
如果(results.getAvailableWithoutFetching()=3)中断;
如果(!results.isFullyFetched())
results.fetchMoreResults()
}
我不能利用Cassandra基于令牌的特性在我的项目中进行分页,这是一个严格的否定。 这里的问题是当我从结果中迭代行迭代器时;行迭代器实际上从第一页的第一条记录开始迭代。 为了获得第2页和第3页中的记录,我不必要地以这种方式遍历每一行。当我从第2页和第3页获得结果并将它们添加到结果中时,它应该只存储第2页和第3页的结果集,而不是从第一页一直存储到100页

谁能告诉我我做错了什么?有没有一种方法可以直接将行迭代器移动到第二页,或者有没有任何有效的方法可以做到这一点。这件事我已经坚持了好几个星期了。为什么我必须从第一页的第一行进行迭代才能从第2页和第3页获得行。这是卡桑德拉的缺点吗

谢谢。谢谢你的帮助