在Hibernate中,你可以扩展
EmptyInterceptor
和覆盖afterTransactionCompletion()
方法并将其注册在SessionFactoryBean
或中HibernateTransactionManager
。在Spring中,你可以使用扩展
TransactionSynchronizationAdapter
,覆盖afterCompletion()
和注册TransactionSynchronizationManager#registerSynchronization()
。
编辑
使用Spring Aop向所有带注释的方法添加同步的示例
@Transactional
@Aspectclass TransactionAspect extends TransactionSynchronizationAdapter { @Before("@annotation(org.springframework.transaction.annotation.Transactional)") public void registerTransactionSyncrhonization() { TransactionSynchronizationManager.registerSynchronization(this); } @Override public void afterCompletion(int status) { // pre }}


