2015-02-05 2 views
2

Я пытаюсь использовать Spring Data Cassandra 1.1.2 для работы с Cassandra 2.1.2 и Spring 4.0.2. Java - 1,7Автоматическое создание таблиц

Все работает отлично - насколько я проверял - за исключением того, что таблицы/columnfamily не создаются автоматически. Я попытался включить его с помощью:

session.setSchemaAction (SchemaAction.RECREATE_DROP_UNUSED);

но он даже не пытается создать таблицы. По крайней мере, при включенном протоколе ALL я ничего не вижу.

Я попытался найти образец кода, но ничего не получилось. Любые указатели или образец кода были бы очень желанными.

ответ

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 
} 
+0

сделал это, но до сих пор не автоматически создавать используемые колонки-семьи ...!? –

Смежные вопросы