Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当entityManagerFactory未命名时;“实体管理工厂”;_Java_Spring_Servlets_Jpa_Servlet Filters - Fatal编程技术网

Java 当entityManagerFactory未命名时;“实体管理工厂”;

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

我的webapp包含许多EntityManagerFactory(DBs)。每个都有自己独特的名称,如entityManagerFactoryApp、entityManagerFactoryBusiness、entityManagerFactoryForum等

在webapp中,我必须添加
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