spring的opensessioninview配置问题,hibernate的session在查询完数据后,要close吗?
<filter><filter-name>OpenSessionInViewFilter</filter-name><filter-class>org.springfra...
<filter>
<filter-name>OpenSessionInViewFilter</filter-name>
<filter-class>
org.springframework.orm.hibernate4.support.OpenSessionInViewFilter
</filter-class>
<!-- singleSession默认为true,若设为false则等于没用OpenSessionInView -->
<init-param>
<param-name>singleSession</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>OpenSessionInViewFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
---------这里的是hibernate4.7版本是放在struts和spring上面的,疑惑的是貌似没有效果,
spring的事物:<tx:method name="*" propagation="REQUIRED" />(全部的daoimpl方法)
请看下面:
dao层查询(表关联的数据)
try {
session=sf.openSession();//sf是spring注入的sessionFactory
Query que=s.createQuery(hql);
return que.list();
} catch (HibernateException e) {
return null;
}//如果不关闭session,就没有问题
finally{
session.close;//这样就报no_session的异常了,重点是这个session,到底是关还是不关?即加载一样
}
ssh为什么即加载失效?spring的opensessioninview,查询表关联的时候session是关还是不关?在JSP点关联的数据就报no_session异常,希望请大家详细帮帮我...
补充:sf.getCurrentSession()会报异常 展开
<filter-name>OpenSessionInViewFilter</filter-name>
<filter-class>
org.springframework.orm.hibernate4.support.OpenSessionInViewFilter
</filter-class>
<!-- singleSession默认为true,若设为false则等于没用OpenSessionInView -->
<init-param>
<param-name>singleSession</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>OpenSessionInViewFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
---------这里的是hibernate4.7版本是放在struts和spring上面的,疑惑的是貌似没有效果,
spring的事物:<tx:method name="*" propagation="REQUIRED" />(全部的daoimpl方法)
请看下面:
dao层查询(表关联的数据)
try {
session=sf.openSession();//sf是spring注入的sessionFactory
Query que=s.createQuery(hql);
return que.list();
} catch (HibernateException e) {
return null;
}//如果不关闭session,就没有问题
finally{
session.close;//这样就报no_session的异常了,重点是这个session,到底是关还是不关?即加载一样
}
ssh为什么即加载失效?spring的opensessioninview,查询表关联的时候session是关还是不关?在JSP点关联的数据就报no_session异常,希望请大家详细帮帮我...
补充:sf.getCurrentSession()会报异常 展开
1个回答
展开全部
不关,你关了hibernate session就没了啊 当然getCurrentSession
会获取不到。
个人理解:hibernate的session类似前台session 整个工程在一次请求的时候会产生一个session 关掉以后 会将这个session从内存中丢掉 你就找不到了
会获取不到。
个人理解:hibernate的session类似前台session 整个工程在一次请求的时候会产生一个session 关掉以后 会将这个session从内存中丢掉 你就找不到了
更多追问追答
追问
能不能说哈spring的opensessioninviewFilter怎么配置?主要是在jsp页面点关联表的数据会有no_session这个异常 spring的事物提交后就关闭了sesison,如何让session不关闭(getCurrentSession)我配置的 opensessioninviewFilter好像没有起作用(*.jsp)
追答
奇怪哈 hibernate框架使用的时候一般是不需要你来控制session的开关的
难道不能使用sessionFactory来做一个SimpleHibernateTemplate么
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询