在AbstractPlatformTransactionManager
类中,getTransaction()
方法调用doGetTransaction()
. 但是,我无法在任何地方找到此方法的实现。它的实施在哪里,它有什么作用?
问问题
139 次
1 回答
1
您将doGetTransaction
在具体的事务管理器实现中找到实现。如果您在以下代码中定义了您的事务管理器spring-config.xml
:
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
...
</bean>
doGetTransaction
您将获得in的具体实现HibernateTransactionManager
。
该doGetTransaction
实现通常会查找现有事务并将相应的状态存储在返回的事务对象中。
以下语句是从HibernateTransactionManager#doGetTransaction doc 复制的:
返回的对象通常特定于具体的事务管理器实现,以可修改的方式携带相应的事务状态。该对象将直接或作为 DefaultTransactionStatus 实例的一部分传递给其他模板方法(例如 doBegin 和 doCommit)。
返回的对象应包含有关任何现有事务的信息,即在事务管理器上的当前 getTransaction 调用之前已经开始的事务。因此,doGetTransaction 实现通常会查找现有事务并将相应的状态存储在返回的事务对象中。
于 2013-11-14T12:45:06.303 回答