在Netbeans的persistence.xml中,有一个名为"Use Java Transaction API“的复选框,它将xml从:
<persistence-unit name="PUNAME-PU" transaction-type="RESOURCE_LOCAL"> 至:
<persistence-unit name="PUNAME-PU" transaction-type="JTA">这是CMT与BMT的对比吗?
发布于 2011-11-28 01:03:23
下面是JPA2规范对此属性的描述:
JTA type属性用于指定实体管理器工厂为持久性单元提供的实体管理器必须是
实体管理器还是资源本地实体管理器。此元素的值为JTA或RESOURCE_LOCAL。JTA的事务类型假定将提供JTA数据源-或者由jta- data -source元素指定,或者由容器提供。通常,在Java环境中,事务类型的RESOURCE_LOCAL假定将提供非JTA数据源。在Java EE环境中,如果未指定此元素,则缺省值为JTA。在Java环境中,如果未指定此元素,则缺省值为RESOURCE_LOCAL。
下面是它对JTA和资源本地实体管理器的描述:
JTA EntityManagers
通过JTA控制事务的实体管理器称为JTA实体管理器。JTA实体管理器参与当前的JTA事务,该事务在实体管理器外部开始和提交,并传播到底层资源管理器。
资源本地EntityManagers
其事务由应用程序通过EntityTransaction应用程序接口控制的实体管理器是资源本地实体管理器。持久性提供者将资源本地实体管理器事务映射到资源上的资源事务。资源本地实体管理器可能会使用服务器或本地资源来连接到数据库,并且不知道是否存在处于活动状态的JTA事务。
https://stackoverflow.com/questions/8286949
复制相似问题