Spring 数据: relationships between 2 different data sources

标签 spring spring-data

在 Spring Boot Application 项目中,我有 2 个数据源:

  • MySQL 数据库(又名“db1”)
  • 一个 MongoDB 数据库(又名“db2”)

  • 我正在使用 Spring Data JPA Spring Data MongoDB ,而且效果很好……一次一个。

    说 db1 处理“玩家”,而 db2 处理“团队”(带有玩家 ID 的列表)。是否有可能使这两个异构实体之间的关系正常工作? (即@ManyToOne、@Transactional、Lazy/Eager 等)

    例如,我希望能够编写:
    List<Player> fooPlayers = teamDao.findOneById(foo).getPlayers();
    

    编辑 :如果可能的话,我想找到一个适用于任何 Spring 数据项目的解决方案

    最佳答案

    不幸的是,您的难题在 Spring 数据中没有解决方案。

    可能的情况是您创建了自己的接口(interface) (DAO) 类。该 DAO 类将具有查询您的两个数据库的实现。一个非常粗略和简短的例子是

    your DAO
    {
        yourFind (id)
        {
            this would find in db2 and return a relevant list of objects
            findOneByID(id)
            get the player from the above retrieved list and query db1
            getPlayer(player)
        }
    }
    

    我希望这能为您指明正确的方向

    关于 Spring 数据: relationships between 2 different data sources,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37591503/

    相关文章:

    java - Hibernate 自动版本控制不起作用(使用 Spring)

    hibernate - Spring Data + Hibernate 查询缓存不起作用

    java - Spring Data 中的动态查询

    java - 为什么非托管类中会自动弹出 @Autowitred 字段

    java - 如何在spring application.properties中设置lombok.equalsAndHashCode.callSuper = call?

    java - 带有 Couchbase 服务的 Spring WebMVC - 没有可用的名为 'couchbaseRepositoryOperationsMapping' 的 bean

    java - Spring Data 动态查询

    java - Postgresql 与 Hibernate : could not determine LocalDate type in jpql query

    java - Spring Boot Data JPA 无法在 MockMVC 测试中 Autowiring 存储库接口(interface)

    java - 匹配的通配符是严格的,但找不到元素 'context:annotation-config' 的声明