Spring Data:2种不同数据源之间的关系

时间:2016-06-02 12:10:59

标签: spring spring-data

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

  • MySQL数据库(又名" db1")
  • MongoDB数据库(又名" db2")

我正在使用 Spring Data JPA Spring Data MongoDB ,并且它很有效......一次一个。

说db1处理"玩家"和db2处理"团队" (带有球员名单和身份证)。是否有可能使这两个异构实体之间的关系有效? (即@ManyToOne,@ Transaction,Lazy / Eager等)

例如,我希望能够写:

List<Player> fooPlayers = teamDao.findOneById(foo).getPlayers();

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

1 个答案:

答案 0 :(得分:2)

不幸的是,你的难题在弹簧数据中没有解决方案。

可能的是,您可以创建自己的接口(DAO)类。该DAO类将具有查询两个DB的实现。一个非常粗略和简短的例子是

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)
    }
}

我希望这能指出你正确的方向