Datastax QueryBuilder找不到'Contains'子句

时间:2015-09-26 07:02:54

标签: cassandra datastax-java-driver

将Cassandra驱动程序核心jar更新为2.1.7版本2.2.0-rc1。我的声明如下:

Statement select = QueryBuilder.select().all().from(keyspace, tableName).where(QueryBuilder.contains("tags", list.get(0)));

找不到 QueryBuilder.contains 。我们现在有一些替代的contains子句吗?如何使用包含新的更新驱动程序?

1 个答案:

答案 0 :(得分:1)

Java Driver 2.2+不再为QueryBuilder提供静态方法来创建查询。相反,你now must construct a QueryBuilder实例提供了一个Cluster实例,即:

Statement select = new QueryBuilder(cluster).select().all().from(keyspace, tableName).where(QueryBuilder.contains("tags", list.get(0)));

有人一直在讨论提供集群实例可能并不总是必需的(它主要用于确定密钥路由和值序列化),因此这可能会改变回java-driver 2.1中存在的方式。

contains方法仍然是静态的,因为它是查询条件的一部分,但不是用于构造查询的开头(即选择,删除等)。