我在Cassandra
中有一个id as Primary Key and name, address, department as clustering key
的表。现在,我有以下用例:
由于在Cassandra查询中低阶聚类列是可选的,因此在上述用例中,我们使用Custom accessor In Java
。
但是我们必须在自定义访问器中编写3个不同的查询。
例如:
select * from user where id=1 and name='A';
select * from user where id=1 and name='A' and address='a1';
select * from user where id=1 and name='A' and address='a1' and department='d1';
Cassandra的Java驱动程序是否提供任何方式,以便我可以通过一个查询处理上述所有用例?
现在,如果我正在编写包含所有聚类列的查询,例如,如果我尝试仅通过id和name获取用户,那么我将得到不正确的结果,因为我无法传递null,并且如果我传递空字符串,则Cassandra会过滤空字符串剩余的聚类列会导致错误的结果。