Hibernate 使用相同实体/存储库的两个数据源使用SpringDataJPA
我需要帮助设置一个应用程序,将内部(主)MS SQL数据库DB1中的数据子集复制到另一个MySQL数据库DB2,该数据库运行在Web服务器上,供Web应用程序使用(即,我想同步这两个数据库)。这两个表在两个数据库上具有相同的名称,尽管在DB2上只定义了属性/列的子集。我想使用(xml配置的)spring、spring数据jpa(即JpaRepository接口)和hibernate作为jpa提供者,因为我想用这些工具积累知识 就我从其他讨论中了解到的情况而言,基本思想是定义spring使用两个entityManagerFactory bean,每个bean使用一个distinc数据源(每个数据库一个),如下所示: 然后,我可以注入持久化单元特定的EntityManager,并使用它们执行数据库操作。但是我想使用spring数据存储库:目前我已经为DB2上需要的所有表/属性定义了一个JPA实体,包括字段。对于每个实体,我都设置了一个@Repository注释接口,该接口包含JpaRepository,然后将这些存储库注入到相应的服务类中 有没有办法将这些存储库注入我的服务层,并在注入过程中为它们分配一个持久性单元(即选择我要使用的数据库)?原则上,我可以使用@PersistenceContext(name=“NameOfPersistenceUnit”)注释为每个数据库定义两次所有存储库,但我希望这不是必需的Hibernate 使用相同实体/存储库的两个数据源使用SpringDataJPA,hibernate,jpa,spring-data,Hibernate,Jpa,Spring Data,我需要帮助设置一个应用程序,将内部(主)MS SQL数据库DB1中的数据子集复制到另一个MySQL数据库DB2,该数据库运行在Web服务器上,供Web应用程序使用(即,我想同步这两个数据库)。这两个表在两个数据库上具有相同的名称,尽管在DB2上只定义了属性/列的子集。我想使用(xml配置的)spring、spring数据jpa(即JpaRepository接口)和hibernate作为jpa提供者,因为我想用这些工具积累知识 就我从其他讨论中了解到的情况而言,基本思想是定义spring使用两个e
有没有人能概述一下我如何使用命名的框架实现我的目标,或者有没有更简单的方法以编程方式在两个数据库之间复制数据。非常感谢您的帮助。看起来非常类似于这样一个问题:您希望能够在运行时指向不同的数据库,但只希望保留一组存储库。看看这条线是否有用