org.hibernate.HibernateException: Could not obtain transaction-synchronized Session for current thread
![](https://images2015.cnblogs.com/blog/759417/201603/759417-20160326015925058-275027606.png)
![](https://images2015.cnblogs.com/blog/759417/201603/759417-20160326015925683-1668356735.jpg)
原因不详:
解决方法:
一是在web.xml添加:
<filter>
<filter-name>hibernateFilter</filter-name>
<filter-class>org.springframework.orm.hibernate5.support.OpenSessionInViewFilter</filter-class>
<init-param>
<param-name>singleSession</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>flushMode</param-name>
<param-value>AUTO</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>hibernateFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
还没那么深入了解,对这种方法表示像喝白开水,不感冒。
还是方法二好理解点:
1 2 3 | 添加: @Transactional(propagation = Propagation.REQUIRED) |
不过,记得还要在spring的配置文件上添加
1 | <tx:annotation-driven transaction-manager= "transactionManager" /> |
不然单单添加 @Transactional也没有用的!!
例如: