遇到一个坑,搞了不少时间,记录一下。。
不多说 贴图
这里session用了sessionFactory.getCurrentSession(),然后导致异步线程session报错,暂时也没找到原因,据说hibernate4以后的一个坑
然后解决方法,使用openSession
Session session = this.sessionFactory.openSession();
TransactionSynchronizationManager.bindResource(this.sessionFactory, session);
try {
doSomething()
} finally {
TransactionSynchronizationManager.unbindResourceIfPossible(this.sessionFactory);
if (session != null) {
session.close();
}
}
OK 完美解决