我试图在我的项目中同时使用Cassandra和 MySQL 。一些数据将保存到Cassandra中,而另一些数据将保存到 Mysql 中。我在同一项目中使用 mySql 已有1年了,现在,由于我正在扩展它,因此我也想添加 Cassandra DB 。
我的Cassandra配置文件如下。
@Configuration
@PropertySource(value = {"classpath:META-INF/application.properties"})
@EnableCassandraRepositories(basePackages = {"com.example.repository"})
public class CassandraConfig {
@Autowired
private Environment environment;
private static final Logger LOGGER = LoggerFactory.getLogger(CassandraConfig.class);
@Bean
public CassandraClusterFactoryBean cluster() {
CassandraClusterFactoryBean cluster = new CassandraClusterFactoryBean();
cluster.setContactPoints(environment.getProperty("spring.cassandra.contactpoints"));
cluster.setPort(Integer.parseInt(environment.getProperty("spring.cassandra.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.setKeyspaceName(environment.getProperty("spring.cassandra.keyspace"));
session.setConverter(converter());
session.setSchemaAction(SchemaAction.NONE);
return session;
}
@Bean
public CassandraOperations cassandraTemplate() throws Exception {
return new CassandraTemplate(session().getObject());
}
}
我的存储库是
public interface NewRepository extends CassandraRepository<ID>{
}
现在我正尝试使用reposiroty将实体保存到其中
repo.save(entity);
其中repo是NewRepository的对象。
但是它显示InvalidDataAccessApiUsageException:未知类型。
我在哪里错了。
先谢谢您。