我在使用这些命令构建的Cassandra集群中有一个表:
CREATE KEYSPACE IF NOT EXISTS activitylogs WITH replication = {'class': 'SimpleStrategy', 'replication_factor': '1'} AND durable_writes = true;
CREATE TABLE IF NOT EXISTS activitylogs.activities2 (
activity_id timeuuid,
actor_id text,
app_id text,
item_id text,
viewer_id text,
activity_type int,
ts timestamp,
PRIMARY KEY (actor_id, activity_id, app_id)
) WITH CLUSTERING ORDER BY (activity_id DESC, app_id ASC);
这就是我在Spring Project中的Repository的样子:
public interface ActivityRepository extends CassandraRepository<Activity> {
@Query("SELECT actor_id FROM activities2 WHERE actor_id='actorA'")
Iterable<Activity> findByActor_Id(String actor_Id);
}
现在,当我访问与此查询检索器关联的端点时,出现以下错误:
Invalid null value in condition for column actor_id
at com.datastax.driver.core.Responses$Error.asException(Responses.java:136)
但是,当我在CQLSHell中运行等效的CQL命令时,我得到了我正在寻找的确切行...
为什么会这样?
答案 0 :(得分:0)
为SpringBoot应用程序编写控制器时出错。
正确的控制者是:
if(navigator.appVersion.indexOf("MSIE 9.") !== -1)
早期的实现(在编写问题时)没有@PathVariable注释因此,控制器没有将任何值传递给存储库接口函数。