【发布时间】:2015-07-07 11:10:16
【问题描述】:
我添加了一个Hibernate Interceptor 并覆盖了afterTransactionBegin 方法,我正在尝试在此方法中执行数据库查询。
public void afterTransactionBegin(Transaction tx) {
LOG.info("Transaction begin: {}", applicationContext.getBean(ITxnDao.class).getCurrentTransactionId().toString());
}
但我得到了
Caused by: org.hibernate.HibernateException: No Session found for current thread
at org.springframework.orm.hibernate4.SpringSessionContext.currentSession(SpringSessionContext.java:106)
at org.hibernate.internal.SessionFactoryImpl.getCurrentSession(SessionFactoryImpl.java:1039)
这意味着transaction实际上还没有开始。有什么方法可以实现吗?
【问题讨论】:
标签: java spring hibernate transactions interceptor