HibernateException: Could not obtain transaction-synchronized Session for current thread 的解决方法。

来源:互联网 发布:淘宝网面条机 编辑:程序博客网 时间:2024/05/03 18:11

代码执行到  Query q = getSession().createQuery(“hql”);   没有报错,但是不再往下执行了。

尝试try catch。

try {
getSession();
} catch (Exception e) {
e.printStackTrace();
}

控制台报错。

HibernateException: Could not obtain transaction-synchronized Session for current thread。

解决方法:在该方法上添加@Transactional注解之后,可以顺利执行。
百度还有另外的解决方法,在web.xml 中添加过滤器。
<filter>
  <filter-name>openSessionInView</filter-name>
  <filter-class>org.springframework.orm.hibernate4.support.OpenSessionInViewFilter</filter-class>
  </filter>
  <filter-mapping>
  <filter-name>openSessionInView</filter-name>
  <url-pattern>/*</url-pattern>
  </filter-mapping>
不过这种方法并没有解决我的问题。

0 0