如何在Spring上通过OpenEntityManagerInViewFilter处理多个Entitymanagers

时间:2015-11-04 01:50:51

标签: java spring hibernate jpa spring-data

我查看了OpenEntityManagerInViewFilter的代码,我注意到它在我的Spring上下文中查找了一个entityManagerFactoryBeanName。我确实有一个setter来调整我想要的不同bean名称。

但是我们假设我的应用程序中有多个EntityManagers,每个我定义的DataSource都有一个。 Spring可以定义存储库以引导那些EntityManagers的数据,但是如何通知OpenEntityManagerInViewFilter这个行为呢?

似乎代码只准备按时间处理一个EntityManager,因此我无法在我的应用程序中为不同的存储库保留延迟数据。

有没有办法设置它?我很感激任何想法。

OpenEntityManagerInViewFilter源代码: http://grepcode.com/file/repo1.maven.org/maven2/org.springframework/spring-orm/4.2.0.RELEASE/org/springframework/orm/jpa/support/OpenEntityManagerInViewFilter.java#OpenEntityManagerInViewFilter

干杯,

1 个答案:

答案 0 :(得分:1)

在查看了许多代码后,我发现我们需要使用您的数据源为每个实体管理器创建一个过滤器。因此,如果我们有一个上下文根应用程序,我们将为此上下文应用许多过滤器。