码迷,mamicode.com
首页 > 编程语言 > 详细

SpringMVC4+Hibernate4运行报错Could not obtain transaction-synchronized Session for current thread

时间:2015-04-24 10:38:12      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:hibernate   springmvc   could not obtain tra   session   spring   

查了一下相关资料,整理如下:

原因:Hibernate4 No Session found for current thread原因

解决方法:


1.  在spring 配置文件中加入

技术分享 程序代码

<tx:annotation-driven transaction-manager="transactionManager"/>

并且在处理业务逻辑的类上采用注解
技术分享 程序代码

@Service
public class CustomerServiceImpl implements CustomerService {  
    @Transactional
    public void saveCustomer(Customer customer) {
        customerDaoImpl.saveCustomer(customer);
    }
    ...
}


另外在 hibernate 的配置文件中,也可以增加这样的配置来避免这个错误:
技术分享 程序代码

<property name="current_session_context_class">thread</property>




解决方法二:http://zhidao.baidu.com/link?url=BNyi8By29DMOXBCiNLeTa7WTTxlf4Q4IbQkrYO6lv6MFNMxv5zkBIx723t4JkezOaNcxc9ARhDIeXxtRZbID_0jYKonThVemDs1VkBUFmpK

我也出现了这个问题,但是我在web.xml中增加了filter就可以了。也许你的问题不是这个,但我的这个问题是这么解决的。
    <filter>
	   <filter-name>SpringOpenSessionInViewFilter</filter-name>
	   <filter-class>org.springframework.orm.hibernate4.support.OpenSessionInViewFilter</filter-class>
	 </filter>
  <filter-mapping>
    <filter-name>SpringOpenSessionInViewFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

以上亲测,都可以解决!

SpringMVC4+Hibernate4运行报错Could not obtain transaction-synchronized Session for current thread

标签:hibernate   springmvc   could not obtain tra   session   spring   

原文地址:http://blog.csdn.net/caiwenfeng_for_23/article/details/45242545

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!