我正在使用卡桑德拉的Java API来与它交互。我有一些实体类,我的mapper对象使用它们来执行crud操作。我需要一个自定义查询来从一个特定的时间段检索我的所有采购对象。然而,当我在下面运行查询时,我永远不会得到任何回报。有趣的是,经过更广泛的测试,这个查询在我同事运行Cassandra3.11.2的Mac上确实有效。我的机器正在运行windows和cassandra 3.9.0。
String query = String.format("SELECT * FROM purchase WHERE timestamp >= %s AND timestamp <= %s ALLOW FILTERING;", startTimestamp, endTimestamp);
purchases = session.execute(query);
我也试过使用in操作,但是我找不到它实际做什么的任何信息,尽管它没有抛出任何异常,但它根本找不到任何购买:
String query = String.format("SELECT * FROM purchase WHERE timestamp IN (%s , %s);", startTimestamp, endTimestamp);