datastax cassandra java 驱动程序的访问器是否使用分页?

Does Accessor of datastax cassandra java driver use pagination?

Datastax 的 java cassandra 驱动程序提供了访问器。参考 here

参考他们下面的例子,他们是做分页和批量获取记录还是有查询超时的风险?

@Accessor
public interface UserAccessor {
    @Query("SELECT * FROM user")
    Result<User> getAll();
}

当我说分页时,他们内部会做类似下面的事情吗

Statement stmt = new SimpleStatement("SELECT * FROM user");
stmt.setFetchSize(24);
ResultSet rs = session.execute(stmt);

是的,在幕后使用了获取大小。 driver 将根据需要自动为您寻呼。

您可能希望通过 @QueryParameters. The default at this time is 5k, see DEFAULT_FETCH_SIZE 设置获取大小。

这是我如何在访问器的@QueryParameters 注释中使用 fetchSize 的示例:

@Accessor
public interface UserAccessor {       

  @Query("SELECT * FROM users")
  @QueryParameters(fetchSize = 1000)
  Result<User> getAllUsers();
}