spring里用getCurrentSession获取的session不在事务管理,请教 本帖最后由 wangyu1221 于 2011-06-14 21:46:36 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 getSessionFactory()方法好像在HibernateTemplate的父类HibernateAccessor中~是调用hibernate本身的SessionFactory,是不是要手动关闭呢? this.getHibernateTemplate().getSessionFactory().getCurrentSession();应该是不受spring事物管理器管理,并且一个线程创建一个session(有且只有一个),避免了手动设置事物管理,不过我认为还是用spring的事物管理器比较好,最好把事物控制在方法范围内 我觉得也是这么回事,可很多教程和例子似乎都说getCurrentSession()也是受事务管理的,只要sessionFactory是由spring注入的,那获取session的时候spring都会拦截并自动加入事务处理。 我觉得也是这么回事,可很多教程和例子似乎都说getCurrentSession()也是受事务管理的,只要sessionFactory是由spring注入的,那获取session的时候spring都会拦截并自动加入事务处理。?可能把,不过sessionFactory这时候应该是你自己创建的,而不是spring自带的,平常web开发SSH集成的时候都是用spring自带的sessionFactory的吧,不知道我说的对不 sessionFactory是spring创建的,配置如下<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="configLocation" value="classpath:hibernate.cfg.xml"/></bean> this.getHibernateTemplate().getSessionFactory().getCurrentSession()是不用手动关闭的,交给spring的事物去管理就好! 但是这个需要手动开始事务和提交/回滚。我已经配置了spring的事务管理,如果还需要手工控制事务那spring的事务管理就变得没有意义了。 .getCurrentSession() 在commit的时候就已经关闭了在session创建的时候,事物自动提交设置为false的。 要做课程设计了,但是不知道用什么设计方法,求助~~~ ibatis配置问题 《实用j2ee设计模式编程指南》问题! ajax 取歌词的中文问题 struts action中为什么没有mapping.findforward()方法? tomcat异常停止 j2ee项目开发 "对于多应用模块的struts应用,每个子应用模块都有各自的requestProcess实例"这句话不太理解,高手解释一下 今天是被HelloWorld把头弄大了! 错误信息? struts2中的购物车每刷新一次物品的数量都+1怎么解决不+1呢? 取出oracle自动生成的值遇到问题?
我觉得也是这么回事,可很多教程和例子似乎都说getCurrentSession()也是受事务管理的,只要sessionFactory是由spring注入的,那获取session的时候spring都会拦截并自动加入事务处理。
sessionFactory是spring创建的,配置如下
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation" value="classpath:hibernate.cfg.xml"/>
</bean>
但是这个需要手动开始事务和提交/回滚。我已经配置了spring的事务管理,如果还需要手工控制事务那spring的事务管理就变得没有意义了。
在session创建的时候,事物自动提交设置为false的。