术语“ jta-datasource”和“ resource-local
datasource”对我来说有点模糊。我放下我的理解(或假设),我想让你说一下我是对还是错。
谢谢!
术语“ jta-datasource”和“ resouce-local datasource”对我来说有点模糊。
我猜您实际上是指jta-datasource
和non-jta-datasource
元素。简而言之:
jta-datasource
元素用于声明将用于获取连接的JTA数据源的JNDI名称。这是常见的情况。non-jta-data-source
则应使用声明非JTA数据源的JNDI名称。
- 可以将同一数据库称为jta数据源或资源本地数据源
这是对的。而且我没有在上面提到过,但是一些提供程序甚至允许声明a jta-datasource
和 a,non-jta- datasource
并使用后者来通过非JTA连接优化读取(即不会与正在进行的JTA交易相关联)。
- 如果提到为jta-datasource,那么Bean /其他类可以使用JTA。因此,UserTransaction接口。
第一部分是正确的,最后一部分不是完全正确的。从EJB 3.0规范中,第 13.3.4 节“ 使用容器管理的事务划分的企业Bean” :
企业bean的业务方法不得尝试获取或使用该
javax.transaction.UserTransaction
接口。
以及第 16.12 节 UserTransaction接口 :
容器不得使该
UserTransaction
接口可用于不允许使用该接口的企业bean。
换句话说,该UserTransaction
接口不适用于CMT企业bean。
- 如果数据源是本地资源,则无法使用CMT / BMT
这里的措辞有点令人困惑,但我会说这并不是严格正确的。根据JPA 1.0规范,第 §5.5 节 “控制事务” :
应用程序管理的实体管理器可以是JTA实体管理器,也可以是资源本地实体管理器。
…
Java EE Web容器和EJB容器都需要同时支持JTA实体管理器和资源本地实体管理器。在EJB环境中,通常使用JTA实体管理器。
和 6.2.1.2节的交易类型
该
transaction- type
属性用于指定实体管理器工厂为持久性单元提供的实体管理器必须是JTA实体管理器还是资源本地实体管理器。该元素的值是JTA
或RESOURCE_LOCAL
。JTA的事务类型假定将提供JTA数据源-由jta- data-source
元素指定或由容器提供。在一般情况下,在Java EE环境,一个transaction- type
的RESOURCE_LOCAL
假设非JTA的数据源将提供。在Java EE环境中,如果未指定此元素,则默认值为JTA。
因此,您可以使用 应用程序管理的实体管理器 ,该 应用程序 可以是 资源本地的实体管理器
(EntityManagerFactory
在这种情况下,您必须注入来从中获取EM),并且它不属于JTA事务。看到这个(非常有趣的)讨论。
- 如果提到作为资源本地数据源,则事务不支持JTA。代码可以使用EntityTransaction接口,但不能使用UserTransaction接口
再次,措辞有点令人困惑,但我会说这是正确的。
定义 SHOW RESOURCES [FROM schemaName] 说明 列 说明 name 数据源名称 type 数据源类型 host 数据源地址 port 数据源端口 db 数据库名称 attribute 数据源参数 示例 mysql> show resources; +------+-------+-----------+------+------+----------------
定义 ADD RESOURCE dataSource [, dataSource] ... ALTER RESOURCE dataSource [, dataSource] ... dataSource: simpleSource | urlSource simpleSource: dataSourceName(HOST=hostName,PORT=port,DB=dbNam
问题内容: 我试图将hibernate实体管理器与mysql和glassfish一起使用。尝试使用JTA数据源时出现以下错误: 这是我配置persistence.xml的方法 但是,当我配置非jta数据源时,它可以正常工作 很好,但是我真的很想使用: 代替: 我是否在hibernate配置中缺少某些东西,或者甚至可以使用JTA数据源? 问题答案: 在您的配置中,默认情况下使用容器管理的事务。在这种
Spark SQL支持通过SchemaRDD接口操作各种数据源。一个SchemaRDD能够作为一个一般的RDD被操作,也可以被注册为一个临时的表。注册一个SchemaRDD为一个表就 可以允许你在其数据上运行SQL查询。这节描述了加载数据为SchemaRDD的多种方法。 RDDs parquet文件 JSON数据集 Hive表
一、简介 如果需要调用本系统之外的数据库,可以通过数据源管理来保存数据库服务器配置信息,调用的时候通过数据源调用代码可以进行调用了。 二、功能演示 1.添加数据源 数据源调用配置有二种方法: A,模型配置调用: 选择模型,并选择对应模型提供的操作(模型提供的操作,请查阅 模型标签 帮助) B,自定义SQL: 2.数据源管理 数据源修改和删除管理。如下图: 3.外部数据源 A,添加外部数据源: B,
问题内容: 我正在尝试使用Hibernate作为提供程序将Web应用程序的JDBC代码更改为JPA。我正在使用Eclipse IDE。在那我已经定义了一个MySQL数据源。我在persistence.xml中添加了它。但是,我收到以下错误。 我的persistence.xml看起来像, 有什么建议么!!!提前致谢! 问题答案: 在中配置数据源时,您不需要。在应用程序服务器配置中配置数据源并通过JN