Java 如何在SpringDataJPA中管理多IP事务管理器(用于多租户)

Java 如何在SpringDataJPA中管理多IP事务管理器(用于多租户),java,spring,spring-data-jpa,spring-data,Java,Spring,Spring Data Jpa,Spring Data,我们正在使用Spring Boot和事务注释来管理事务 但是,我们有一个多租户应用程序,对于非常大的客户,我们需要将他们放在一个单独的专用数据库中 TransactionalAnnotation是否使用TransactionManager进行拦截,并根据每个请求动态覆盖它(取决于更新的租户)?这对于您的需要非常有用,使用spring数据Jpa在spring boot中实现多租户, 它将租户列表保存在主(公共)数据库中,Hibernate管理多租户数据源(每个租户单独的数据库)。这可能有助于您不必

我们正在使用Spring Boot和事务注释来管理事务

但是,我们有一个多租户应用程序,对于非常大的客户,我们需要将他们放在一个单独的专用数据库中

TransactionalAnnotation是否使用TransactionManager进行拦截,并根据每个请求动态覆盖它(取决于更新的租户)?

这对于您的需要非常有用,使用spring数据Jpa在spring boot中实现多租户, 它将租户列表保存在主(公共)数据库中,Hibernate管理多租户数据源(每个租户单独的数据库)。

这可能有助于您不必(也不应该)担心使用Spring事务开发的多租户应用程序中的
TransactionManager
。相反,您应该确保对于每个操作,JPA
EntityManager
都有权访问与该操作相关联的租户的合适的
DataSource
。当使用Hibernate作为JPA提供程序时,如果能够正确识别租户,则有几种策略可以为操作找到正确的
数据源。有关示例,请参见。