持久单元为RESOURCE_LOCAL还是JTA?

我有以下查询:

  1. 这两者有什么区别?
  2. 所有数据库都支持这两种方法吗?
  3. JPA TransactionManager和JTA TransactionManager是否不同?

回答:

JPA实现可以选择自己管理事务(RESOURCE_LOCAL),或由应用程序服务器的JTA实现管理事务。

在大多数情况下,RESOURCE_LOCAL是可以的。这将使用基本的JDBC级事务。缺点是该事务对于JPA持久性单元而言是本地的,因此,如果你想要一个跨多个持久性单元(或其他数据库)的事务,那么RESOURCE_LOCAL可能不够好。

JTA还用于跨JMS和JCA之类的系统管理事务,但这对我们大多数人来说是相当奇特的用法。

要使用JTA,你需要在应用程序服务器中对其进行支持,并且还需要JDBC驱动程序的支持。

以上是 持久单元为RESOURCE_LOCAL还是JTA? 的全部内容, 来源链接: utcz.com/qa/411873.html

回到顶部