2

我正在尝试将 Spring Data Cassandra 1.1.2 与 Cassandra 2.1.2 和 Spring 4.0.2 一起使用。Java 是 1.7

一切正常 - 据我测试 - 除了表/列族没有自动创建。我试图通过以下方式启用它:

session.setSchemaAction(SchemaAction.RECREATE_DROP_UNUSED);

但它甚至不尝试创建表。至少,启用所有日志记录后,我什么都看不到。

我试图找到一些示例代码,但没有任何效果。任何指针或示例代码都将受到欢迎。

4

1 回答 1

1

让您的 cassandra 配置类扩展 AbstractCassandraConfiguration 并覆盖

@Override
@Bean
public CassandraSessionFactoryBean session() throws Exception {

    CassandraSessionFactoryBean bean = new CassandraSessionFactoryBean();

    bean.setCluster(cluster().getObject());
    bean.setConverter(cassandraConverter());
    bean.setSchemaAction(getSchemaAction());
    bean.setKeyspaceName(getKeyspaceName());

    return bean;
}
@Override
public SchemaAction getSchemaAction() {
    return SchemaAction.RECREATE_DROP_UNUSED;
}

@Override
public String[] getEntityBasePackages() {
    return new String[] {"com.example"}; //com.example package contains the bean with @table annotation
}
于 2015-09-02T04:48:52.720 回答