DWR/OpenSessionInView“;会议结束了&引用;在Java和Hibernate中
他们说hibernate和webapp中使用ajax的封闭会话是java和spring的常见问题,因此我必须像这样在web.xml中设置OpenSessionInViewInFilterDWR/OpenSessionInView“;会议结束了&引用;在Java和Hibernate中,java,hibernate,spring,dwr,Java,Hibernate,Spring,Dwr,他们说hibernate和webapp中使用ajax的封闭会话是java和spring的常见问题,因此我必须像这样在web.xml中设置OpenSessionInViewInFilter <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <context-pa
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/applicationContext.xml
</param-value>
</context-param>
<filter>
<filter-name>springFilter</filter-name>
<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>springFilter</filter-name>
<url-pattern>/dwr/*</url-pattern>
</filter-mapping>
org.springframework.web.context.ContextLoaderListener
上下文配置位置
/WEB-INF/applicationContext.xml
弹簧过滤器
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
弹簧过滤器
/dwr/*
但即便如此,当我尝试使用hibernate标准api时,我还是会遇到“会话已关闭”的hibernate异常,所以我尝试了使用OpenSessioninViewInterceptor的另一种spring方法
<bean id="urlMapping"
class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="alwaysUseFullPath" value="false"/>
<property name="mappings">
<props>
<prop key="*">dwrController</prop>
</props>
</property>
<property name="interceptors">
<bean id="openSessionInViewInterceptor"class="org.springframework.orm.hibernate3.support.OpenSessionInViewInterceptor">
DWR控制器
拦截器呢
<bean id="urlMapping"
class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="alwaysUseFullPath" value="false"/>
<property name="mappings">
<props>
<prop key="*">dwrController</prop>
</props>
</property>
<property name="interceptors">
<bean id="openSessionInViewInterceptor"class="org.springframework.orm.hibernate3.support.OpenSessionInViewInterceptor">
相同的“会话已关闭”问题。请帮帮我。我是Java新手,非常感谢您的帮助
我目前正在maven的jetty插件6.1.10版中运行。请确保不要在不同的线程之间传递数据。如果使用延迟加载(检查hibernate映射的默认值),这尤其容易
假设一个实体Y是延迟加载的,并且是从实体X(通过Hibernate)引用的,并且您将X从一个线程传递到另一个线程,并且在另一个线程中执行X.getY(),那么您就有麻烦了。找到了它。我需要在我的服务类中声明@Transactional 你在运行什么web服务器?我目前正在maven的jetty中运行。。