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也没有用的!!
例如: