如果我spring中的配置文件SessionFactory的id不叫sessionFactory叫sf,OpensessionInview为什么会报错
OpenSessionInview使用拦截器实现的,他要用到Hibernate的sessionFactory,这个名称是他默认要着的,如果你的SessionFactory配置的不叫这个名字的话在使用OpenSessionInview拦截器的时候是会报错的。需要我们在配置文件中手动的指定一下你自己定义的SessionFactory的名称。
<filter><filter-name>sessionFilter</filter-name><filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class><init-param><param-name>sessionFactoryBeanName</param-name><param-value>sf</param-value></init-param></filter><filter-mapping><filter-name>sessionFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping>
但是不建议大家在这种地方搞创新,但是如果别人是这样配置的,或者是出错了,我们要能知道是什么原因引起的。