提问者:小点点

Spring data cassandra-未指定密钥空间


我在Spring数据卡桑德拉方面遇到了问题。即使将密钥空间指定到 CassandraConfig 中,它也会给我抛出这个错误。

未指定任何密钥空间。使用keyspace,或在com . datas tax . driver . core . responses$error . as exception(responses . Java:147)~[Cassandra-driver-core-3 . 4 . 0 . jar:na]中显式指定keyspace.tablename

CQL[SELECT*FROM测试WHERE标记='asdasdasd';];未指定键空间。使用keyspace,或显式指定keyspace.tablename;

CassandraConfig(卡桑德拉配置):

@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();
    }
}

共1个答案

匿名用户

你的问题看起来很像这样。

使用getKeyspaceName(),您可以告诉cassandra要使用哪个键空间,但也需要创建这个键空间:

@Override
protected List<CreateKeyspaceSpecification> getKeyspaceCreations() {
    return Arrays.asList(
            CreateKeyspaceSpecification.createKeyspace()
                    .name("your_keyspace_name")
                    .ifNotExists()
    );
}