转自:http://blog.csdn.net/caiwenfeng_for_23/article/details/45242545
结合自己的配置问题,第二种解决了我的问题。
查了一下相关资料,整理如下:
原因: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>
我也出现了这个问题,但是我在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>以上亲测,都可以解决!