を使用して、スプリング ブートで小さなプロジェクトをセットアップしていますspring-data-cassandra
。
@Table オブジェクトに Joda time Datetime があると、テストが中断することに気付きました。スタックには次のようなエラーが表示されます。
Caused by: org.springframework.data.cassandra.mapping.VerifierMappingExceptions: org.joda.time.Chronology: Cassandra entities must have the @Table, @Persistent or @PrimaryKeyClass Annotation
私の構成は以下の通りです:
@Configuration
@EnableCassandraRepositories(basePackages ="com.myproject.cassandra.repository")
@ComponentScan(basePackages = "com.myproject.cassandra")
@EnableAutoConfiguration
class CassandraConfiguration {
private static ConfigContext confitConfig = ConfigContext.lookup();
//private static AdminContext confitAdmin = AdminContext.lookup();
DataSource cassandraDataSource
static {
confitConfig.register(DataSource.class);
}
Collection<DataSource> dataSources = confitConfig.list(DataSource.class)
CassandraConfiguration() {
cassandraDataSource = new DataSource();
dataSources.each { d -> d.name == "Cassandra"
cassandraDataSource = d
}
}
@Bean
public CassandraClusterFactoryBean cluster(){
CassandraClusterFactoryBean cluster = new CassandraClusterFactoryBean()
cluster.setContactPoints(cassandraDataSource.host)
cluster.setPort(cassandraDataSource.port)
return cluster
}
@Bean
public CassandraMappingContext mappingContext() {
return new BasicCassandraMappingContext()
}
@Bean
public CassandraConverter converter(){
return new MappingCassandraConverter(mappingContext())
}
@Bean
public CassandraSessionFactoryBean session() throws Exception {
CassandraSessionFactoryBean session= new CassandraSessionFactoryBean()
session.setCluster(cluster().getObject())
session.setConverter(converter())
session.setKeyspaceName(cassandraDataSource.database)
session.setSchemaAction(SchemaAction.NONE)
return session;
}
@Bean
public CassandraOperations cassandraTemplate() throws Exception {
return new CassandraTemplate(session().getObject())
}
}
を使用しているために発生する可能性はありBasicCassandraMappingContext
ますか? これを修正する方法は?