Java 当entityManagerFactory未命名时;“实体管理工厂”;
我的webapp包含许多EntityManagerFactory(DBs)。每个都有自己独特的名称,如entityManagerFactoryApp、entityManagerFactoryBusiness、entityManagerFactoryForum等 在webapp中,我必须添加Java 当entityManagerFactory未命名时;“实体管理工厂”;,java,spring,servlets,jpa,servlet-filters,Java,Spring,Servlets,Jpa,Servlet Filters,我的webapp包含许多EntityManagerFactory(DBs)。每个都有自己独特的名称,如entityManagerFactoryApp、entityManagerFactoryBusiness、entityManagerFactoryForum等 在webapp中,我必须添加OpenEntityManagerInViewFilter以实现“在视图中打开会话”模式 Spring OpenEntityManager视图过滤器 org.springframework.orm.jpa.s
OpenEntityManagerInViewFilter
以实现“在视图中打开会话”模式
Spring OpenEntityManager视图过滤器
org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter
Spring OpenEntityManager视图过滤器
/*
运行Spring时会抛出以下错误:
NoSuchBeanDefinitionException:未找到名为“entityManagerFactory”的bean
明确的
但是我的entityManagerFactory没有一个被命名为entityManagerFactory
我查看了openEntityManagerViewFilter
的代码,找到了setEntityManagerFactoryBeanName()
方法。如何在web.xml中设置它的值
此外,由于我有多个EMF,我应该在web.xml中定义多个openEntityManagerViewFilter
s吗
环境:Spring 3.0.2、Hibernate 3.5.1.Final、Resin 4.0.7、JPA2(Hibernate-jpa-2.0-api)
OpenEntityManagerViewFilter
是GenericFilterBean
的子类,它自动将过滤器初始化参数转换为bean属性。因此,要在过滤器上设置entityManagerFactoryBeanName
属性,只需使用init参数:
<filter>
<filter-name>Spring OpenEntityManagerInViewFilter</filter-name>
<filter-class>org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter</filter-class>
<init-param>
<param-name>entityManagerFactoryBeanName</param-name>
<param-value>entityManagerFactoryApp</param-value>
</init-param>
</filter>
Spring OpenEntityManager视图过滤器
org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter
EntityManager工厂名称
entityManagerFactoryApp
每个
EntitymanagerFactory
都需要一个这样的过滤器,并相应地设置entityManagerFactoryBeanName
。OpenEntityManagerViewFilter
是GenericFilterBean
的子类,它自动将过滤器初始化参数转换为bean属性。因此,要在过滤器上设置entityManagerFactoryBeanName
属性,只需使用init参数:
<filter>
<filter-name>Spring OpenEntityManagerInViewFilter</filter-name>
<filter-class>org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter</filter-class>
<init-param>
<param-name>entityManagerFactoryBeanName</param-name>
<param-value>entityManagerFactoryApp</param-value>
</init-param>
</filter>
Spring OpenEntityManager视图过滤器
org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter
EntityManager工厂名称
entityManagerFactoryApp
每个EntitymanagerFactory
都需要一个,并相应地设置entityManagerFactoryBeanName