如何在单个项目中同时使用Cassandra和MYSQL?

时间:2018-10-29 11:33:38

标签: java mysql spring cassandra spring-data-jpa

我试图在我的项目中同时使用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:未知类型。

我在哪里错了。

先谢谢您。

0 个答案:

没有答案