CassandraOperations:QueryBuilder.token问题

时间:2016-12-01 21:38:00

标签: cassandra query-builder spring-data-cassandra

我正在使用CassandraTemplate从Cassandra DB获取数据。我正在尝试使用QueryBuilder构建查询,这是我正在尝试构建的...

select * from users where token(user, timebucket) > token('222233111',20151231) ;

我跟着this link并做了同样的事情......

Select select = select().all().from("users");
select.where(QueryBuilder.gt(QueryBuilder.token("user","timebucket"), myToken(userId,bucketime)));
users = cassandraOperations.select(select, Users.class);

但我的查询仍然像

一样生成
SELECT * FROM users WHERE token(user,timebucket)>'token(222233111, 20151231)';

我收到以下错误,请帮助我如何成功构建我的查询。

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is com.datastax.driver.core.exceptions.InvalidQueryException: Expected 8 or 0 byte long (26)

添加了MyToken代码......

 private String myToken(String... values) {
    StringBuilder sb = new StringBuilder();
    sb.append("token(");
    for (int i = 0; i < values.length; i++) {
        if (i > 0)
            sb.append(", ");
        sb.append(values[i]);
    }
    sb.append(")");
    return sb.toString();
}

0 个答案:

没有答案
相关问题