用于基于maxTimeuuid和minTimeuuid的查询的Java API

Mas*_*sti 3 java cassandra cql3 datastax-java-driver

使用maxTimeuuid和minTimeuuid的查询的Java API是什么?我在QueryBuilder或其他任何地方找不到任何内容.我正在使用DataStax客户端

        <artifactId>cassandra-driver-core</artifactId>
        <version>1.0.3</version>
Run Code Online (Sandbox Code Playgroud)

表"a"有2列:1.类型为String的id 2.类型为TimeUuid的LMD

这就是我在做什么,似乎不对,当然不起作用

    Query q = QueryBuilder
    .select()
    .all()
    .from("test","a")
    .where().and(QueryBuilder.gt("LMD", "minTimeUUid('2013-11-03 14:33:50')"))
    .and(QueryBuilder.lt("LMD", "maxTimeUUId('2013-11-03 14:45:50')"));
Run Code Online (Sandbox Code Playgroud)

任何指针都非常感谢

谢谢

lor*_*can 7

您需要使用utils.UUIDs实用程序类从时间戳以编程方式生成最大/最小TimeUUID ,例如

final UUID min = UUIDs.startOf(lowerTimeStamp);
final UUID max = UUIDs.endOf(upperTimeStamp);
Query q = QueryBuilder
  .select()
  .all()
  .from("test","a")
  .where(QueryBuilder.gt("LMD", min))
  .and(QueryBuilder.lt("LMD", max));
Run Code Online (Sandbox Code Playgroud)