使用基于maxTimeuuid和minTimeuuid的查询的Java API是什么?我在QueryBuilder或其他任何地方找不到任何内容。我正在使用DataStax客户端
<artifactId>cassandra-driver-core</artifactId>
<version>1.0.3</version>
表“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')"));
任何指针都非常受欢迎
由于
答案 0 :(得分: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));