ssh整合是出现异常: getFlushMode is not valid without active transaction

来源:互联网 发布:碟中谍4 知乎 编辑:程序博客网 时间:2024/06/10 00:05

今天在整合ssh时,tomcat启动时无异常,但是访问action是出现异常

HTTP Status 500 - getFlushMode is not valid without active transaction; nested exception is org.hibernate.HibernateException: getFlushMode is not valid without active transaction

检查配置都没有发现问题,百度发现是hibernate.cfg.xml文件多了<property name="hibernate.current_session_context_class">thread</property>配置,

把这行配置注释或者把thread值改成org.springframework.orm.hibernate5.SpringSessionContext可以解决问题。


错误原因:

整合时spring中事务是在配置文件中配置自动开启,因为由getCurrentSession得到的session中是当前线程的session,但是当前线程中没有开启事务的代码,所以不能获transaction  。然而spring+hibernate整合必须要有活动的事务才能执行dao中的方法。


转自:http://m.blog.csdn.net/maoyuanming0806/article/details/61417995


阅读全文
1 0
原创粉丝点击