我有一个可以使用两种不同持久性 API 的 Spring 应用程序:
- 春季数据 JPA
- 春季数据 Neo4j
使用 Spring Data JPA 时,我需要在“web.xml”中声明“OpenEntityManagerInViewFilter”来进行延迟加载:
<filter>
<filter-name>OpenEntityManagerInViewFilter</filter-name>
<filter-class>org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>OpenEntityManagerInViewFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
问题是我在使用 Spring Data Neo4j 时无法启用此过滤器。保持启用会导致以下运行时错误:
No qualifying bean of type [javax.persistence.EntityManagerFactory] is defined
我想选择与 Spring 配置文件一起使用的数据库(例如spring.profiles.active=relational-database
或spring.profiles.active=graph-database
)。
问题:当配置文件是“关系数据库”时如何启用“OpenEntityManagerInViewFilter”,当配置文件是“图形数据库”时禁用它?
谢谢!
相关问题:
- 如何有条件地启用/禁用 web.xml 中的过滤器,但我没有使用
DelegatingFilterProxy
.