【发布时间】:2018-07-01 07:39:49
【问题描述】:
我在使用 Spring Data cassandra 时遇到问题。即使在 CassandraConfig 中指定键空间,它也会给我这个错误。
com.datastax.driver.core.exceptions.InvalidQueryException:没有键空间 已指定。使用键空间,或明确指定 keyspace.tablename 在 com.datastax.driver.core.Responses$Error.asException(Responses.java:147) ~[cassandra-driver-core-3.4.0.jar:na]
CQL [SELECT * FROM test WHERE token='asdasdasdasd';];不 已指定密钥空间。使用键空间,或明确指定 keyspace.tablename;
Cassandra 配置:
@Configuration
@EnableCassandraRepositories(basePackages = "com.test.model")
public class CassandraConfig extends AbstractCassandraConfiguration {
@Override
protected String getKeyspaceName() {
return "testKeySpace";
}
@Bean
public CassandraClusterFactoryBean cluster() {
CassandraClusterFactoryBean cluster =
new CassandraClusterFactoryBean();
cluster.setContactPoints("127.0.0.1");
cluster.setPort(9142);
return cluster;
}
@Bean
public CassandraMappingContext cassandraMapping()
throws ClassNotFoundException {
return new BasicCassandraMappingContext();
}
}
【问题讨论】:
-
您能否发布一个能够重现该问题的 Github 存储库/代码的链接?
-
@mp911de 我设法找出了问题所在。即使在 CassandraConfig 类中指定了键空间,他也期望来自 application.properties 的属性。我认为这是一个错误。我创建了 application.properties 并在那里指定了键空间并且它起作用了。
标签: spring spring-boot spring-data-cassandra