是否可以为Cassandra(NoSQL)和mysql(RDBMS)

时间:2016-03-21 10:13:29

标签: mysql sql spring-data cassandra-2.0 nosql

我们想在我们的应用程序中支持两个MySQL和Cassandra数据库。我们的应用程序将使用Spring构建。我想要拥有必须由MySQL和Cassandra共享的通用实体我想根据客户偏好动态更改数据库。我怎样才能实现这个目标

1 个答案:

答案 0 :(得分:0)

如果您要求系统在两个数据存储上都可以运行,一次只能运行一个,我认为这是可以实现的。

以下建议我相信会让你实现这一点,但我没试过:(假设你使用弹簧靴)

  1. 在maven中为spring数据jpa和spring数据mongo设置依赖。
  2. 同时启用jpa和mongo存储库(请参阅EnableJpaRepositoies)
  3. 在实体上放置JPA和Mongo注释。
  4. 使用PagingAndSortingRepository作为存储库的基础接口
  5. 在application.properties中 通过spring boot明确定义的属性配置mysql或mongo db
  6. 这可能适用于常规弹簧应用,但需要修改;还包括pom文件中相应的驱动程序依赖项。

    编辑:您可以使用'spring.data.jpa.repositories.enabled = false'(及其mongo副本)来源:https://github.com/spring-projects/spring-boot/blob/master/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/jpa/JpaRepositoriesAutoConfiguration.java