我的项目使用Spring和Hibernate来管理数据库及其事务。我使用HibernateTransactionManager来管理与Hibernate的SessionFactory一起的事务。一切都很好。
我想尝试使用其他交易管理器,例如Spring的DataSourceTransactionManager。实验失败了。然后我将Spring的TransactionAwareDataSource分层放在C3P0数据源之上,一切都恢复了。
正如我在Spring Tx文档中所读到的,简短的回答是让数据源知道tx。为什么我们需要使数据源事务知道,然后只有tx管理器可以管理它们,这与Hibernates SessionFactory和HibernateTransactionManager不同?
由于