org.hibernate.HibernateException: Could not obtain transaction-synchronized Session for current thread


原因不详:
解决方法:
一是在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也没有用的!!
例如:

