假设我有以下 CQL3 查询:
QueryString = "SELECT id1, id2, link_type, visibility, data, time, version from keyspace.table where id1 = id1 and link_type = link_type and id2 **IN id2s** and time>= minTime and time<= maxTime ORDER BY time desc limit= rowLimit;"
- 如果我将其实现为 a
Statement = new Statement (QueryString)
我会收到此错误(因为 id2s: a List 中的括号):
输入 '[' 没有可行的替代方案(...和 link_type = 123456789 和 [id2] IN...)
--->我应该如何将其转换为List<Long> id2s
不带括号但带括号的列表:(item1,item2,item3)
- 如果我将查询实现为 PreparedStatement:
PreparedStatement prepared = session.prepare(query);
第一个错误已解决,但我得到另一个:
不能对分区键同时具有 ORDER BY 和 IN 限制的查询进行分页;您必须删除 ORDER BY 或 IN 并对客户端进行排序,或者禁用此查询的分页
---->我应该如何使用准备好的语句关闭分页(我发现只有简单语句的解决方案:statement.setfetchSize()但没有准备好的解决方案)
如果我使用简单的语句,我会遇到括号/括号的问题,如果我使用准备好的语句来解决最后一个问题,我会遇到分页问题。
任何想法 ?