【问题标题】:Is it possible to have common entities for both Cassandra(NoSQL) and mysql(RDBMS)Cassandra(NoSQL) 和 mysql(RDBMS) 是否可以有共同的实体
【发布时间】:2016-07-07 19:02:42
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

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

    我相信以下建议可以让您实现这一目标,但我没有尝试:(假设您使用 spring-boot)

    1. 在 maven 中放置 spring data jpa 和 spring data mongo 的依赖项。
    2. 启用 jpa 和 mongo 存储库(请参阅 EnableJpaRepositoies)
    3. 在实体上同时放置 JPA 和 Mongo 注释。
    4. 使用 PagingAndSortingRepository 作为存储库的基本接口
    5. 在application.properties中either通过spring boot定义好的属性配置mysql或mongo db

    这可能适用于常规 Spring 应用程序,但需要修改;在 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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-05
      • 1970-01-01
      • 1970-01-01
      • 2012-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多