今天在配置SpringMVC+Hibernate4 的时候 报了个No Session found for current thread
上网搜集资料,大概就是以下几种解决方法
- 在hibernate中配置sessionFactory的hibernateProperties参数里添加
<propkey="current_session_context_class">thread</prop> - 在spring配置中添加<tx:annotation-driven transaction-manager="transactionManager"/>
- 在service层中的实现类或实现类方法上加@Transactional
- 在web.xml中配置openSessionInView
- <filter>
- <filter-name>openSessionInViewFilter</filter-name>
- <filter-class>org.springframework.orm.hibernate4.support.OpenSessionInViewFilter</filter-class>
- <init-param>
- <param-name>singleSession</param-name>
- <param-value>true</param-value>
- </init-param>
- </filter>
- <filter-mapping>
- <filter-name>openSessionInViewFilter</filter-name>
- <url-pattern>*.do</url-pattern>
- </filter-mapping>