JTA 提供了跨Session 的事务管理能力。这一点是与JDBC Transaction 最大的
差异。
JDBC事务由Connnection管理,也就是说,事务管理实际上是在JDBC Connection
中实现。事务周期限于Connection的生命周期之类。同样,对于基于JDBC Transaction
的Hibernate 事务管理机制而言,事务管理在Session 所依托的JDBC Connection
中实现,事务周期限于Session的生命周期。
JTA 事务管理则由 JTA 容器实现,JTA 容器对当前加入事务的众多Connection 进
行调度,实现其事务性要求。JTA的事务周期可横跨多个JDBC Connection生命周期。
同样对于基于JTA事务的Hibernate而言,JTA事务横跨可横跨多个Session。
差异。
JDBC事务由Connnection管理,也就是说,事务管理实际上是在JDBC Connection
中实现。事务周期限于Connection的生命周期之类。同样,对于基于JDBC Transaction
的Hibernate 事务管理机制而言,事务管理在Session 所依托的JDBC Connection
中实现,事务周期限于Session的生命周期。
JTA 事务管理则由 JTA 容器实现,JTA 容器对当前加入事务的众多Connection 进
行调度,实现其事务性要求。JTA的事务周期可横跨多个JDBC Connection生命周期。
同样对于基于JTA事务的Hibernate而言,JTA事务横跨可横跨多个Session。

本文探讨了JTA与JDBC事务管理的主要区别,重点介绍了JTA如何提供跨Session的事务管理能力,以及它是如何通过JTA容器来协调多个JDBCConnection,从而实现跨越多个Session的事务周期。
739

被折叠的 条评论
为什么被折叠?



