在 Spring Boot Application 项目中,我有 2 个数据源:
我正在使用 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/