Already value [org.springframework.orm.hibernate5.SessionHolder@64ef8d1e] for current thread

出现此问题的原因是在一个方法里执行了两次事务,在第二次事务执行时因为session被以外关闭导致的。而它还伴随着另外一个异常

java.lang.IllegalStateException: No value for key [org.hibernate.impl.SessionFactoryImpl@1b912ed] bound to thread 

解决方法:

  1.采用手动关闭session操作

  2.进行声明式事务配置,交给spring容器进行管理。getSession(),getCurrentSession(),spring容器都可以进行控制,如果是openSessin()结果不可估。



仔细检查你的配置文件,确保Bean是否全部注入到spring容器中,然后检查是否出现版本调用不一致的问题,org.springframework.orm.hibernate5.LocalSessionFactoryBean

但是在打印错误时发现却是hibernate4的绑定。

Already value [org.springframework.orm.hibernate5.SessionHolder@64ef8d1e] for current thread_第1张图片

你可能感兴趣的:(exception)