Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JPA是否仅指RDBMS_Java_Jpa - Fatal编程技术网

Java JPA是否仅指RDBMS

Java JPA是否仅指RDBMS,java,jpa,Java,Jpa,JPA是关于数据持久性的;数据持久性是否仅限于RDBMS?如果没有,那么我们可以通过JPA规范实现哪些不同的持久化机制(如Excel、文件系统、XML、非RDM等) Java持久性API处理关系数据的映射方式 对于Java对象(“持久实体”),这些对象 存储在关系数据库中,以便可以随时访问 后来,一个实体的状态甚至继续存在 在使用它的应用程序结束后。除了简化 实体持久性模型,Java持久性API标准化 对象关系映射 这些照片是从这里拍摄的: 很快,是的。JPA是关于java对象到关系数据库的映

JPA是关于数据持久性的;数据持久性是否仅限于RDBMS?如果没有,那么我们可以通过JPA规范实现哪些不同的持久化机制(如Excel、文件系统、XML、非RDM等)

Java持久性API处理关系数据的映射方式 对于Java对象(“持久实体”),这些对象 存储在关系数据库中,以便可以随时访问 后来,一个实体的状态甚至继续存在 在使用它的应用程序结束后。除了简化 实体持久性模型,Java持久性API标准化 对象关系映射

这些照片是从这里拍摄的:

很快,是的。JPA是关于java对象到关系数据库的映射

有没有办法“滥用”API并创建将对象映射到其他目标(如NOSQL)的实现?我相信这是可能的,但不是很简单。例如,您将如何实现对关系注释(如
@OneToMany
)的支持

JPA是关于数据持久性的;数据持久性是否仅限于RDBMS

JPA是一个提供对象/关系映射的框架。关系型是关系型数据库管理系统中的“R”

最近启动了一个项目(Hibernate OGM),允许Hibernate与NoSQL类型的数据库进行接口。该项目的目标是“使用JPA构造为NoSQL数据存储提供一个公共接口”。(这与为NoSQL实现JPA不同)下面链接的文章将该项目描述为“新生的”;i、 只是最近才开始,不要屏息等待

参考资料:


JPA是为RDBMS设计的,从API和元数据中可以看出情况就是这样。可以将JPA应用于其他数据存储,但必须对某些概念进行近似,尤其是在查询时。另一方面,JDOAPI是为所有数据存储设计的,不必进行这种近似


是第一个跨一系列其他数据存储(Excel、ODBMS、ODF、LDAP、BigTable、HBase、MongoDB等)提供JPA的实现,并在过去2年多的时间里提供了这些功能。它还为相同的数据存储提供JDO访问。

JPA只定义了关系数据的标准映射。但许多JPA提供商也支持非关系数据。通常支持API的运行时端,映射通常通过非标准元数据完成

还有许多JDBC提供程序支持JDBCAPI和SQL到非关系数据和数据源,它们将与任何JPA提供程序一起使用。这通常是访问非关系数据的最佳解决方案

映射到非关系数据没有标准,因为非关系数据包含广泛的数据格式,并且根据定义是非标准的。Java连接器体系结构(JCA)标准是访问非关系数据的Java标准。然而,由于JDBC的使用更加广泛,大多数非关系适配器提供JDBC驱动程序而不是JCA驱动程序

看,,

EclipseLink支持多种持久性服务,包括:

  • JPA
  • 通过JCA连接器的EIS(企业信息系统)非关系数据源
  • JAXB(映射XML数据)
  • DBWS(数据库web服务)
  • SDO(服务数据对象)

SDO是否仅限于RDBMS?如果是的话,SDO和JPA之间的关系是什么。“否”和“它们不是直接相关的”。既然你对这些事情很了解,你愿意为非RDBMS列出JPA的其他供应商吗?我所知道的只有Hibernate OGM(Infinispan),XCalia(在被DataDirect购买之前)提供了一些(我想),ObjectDB(ODBMS)。还有一些其他工具使用(一些)JPA注释来持久化“NOSQL”,但不支持JPA API(例如Objectify、Morphia)。