|Java:Java的JPA技术是什么? ?
JPA(Java Persistence Annotation)是 Java 的标准解决方案 , 用于弥合面向对象的领域模型和关系数据库系统之间的差距 。 这个想法是将 Java 类映射到关系表 , 并将这些类的属性映射到表中的行 。 通过在同一编程范式中无缝协作两种不同的技术 , 这改变了 Java 编码整体体验的语义 。 本文提供了一个概述及其在 Java 中的支持实现 。
概述
关系数据库可能是计算中可用的所有持久性技术中最稳定的 , 而不是与之相关的所有复杂性 。 这是因为今天 , 即使在所谓的“大数据”时代 , “NoSQL”关系数据库的需求量也一直在增长 。 关系数据库是稳定的技术 , 不仅仅是文字 , 而是它多年来的存在 。 NoSQL 可能适合处理企业中的大量结构化数据 , 但通过关系数据库更好地处理大量事务性工作负载 。 此外 , 还有一些与关系数据库相关的出色分析工具 。
【|Java:Java的JPA技术是什么? ?】为了与关系数据库进行通信 , ANSI 标准化了一种称为 SQL(结构化查询语言)的语言 。 用这种语言编写的语句可用于定义和操作数据 。 但是 , SQL 处理 Java 的问题是它们的语法结构不匹配 , 并且在核心上非常不同 , 这意味着 SQL 是过程性的 , 而 Java 是面向对象的 。 因此 , 寻求一种可行的解决方案 , 使 Java 可以以面向对象的方式说话 , 并且关系数据库仍然能够相互理解 。 JPA 是该调用的答案 , 并提供了在两者之间建立工作解决方案的机制 。
与对象映射相关
Java 程序通过使用 JDBC(Java 数据库连接)API 与关系数据库进行交互 。 JDBC 驱动程序是连接的关键 , 它允许 Java 程序使用 JDBC API 操作该数据库 。 建立连接后 , Java 程序以字符串的形式触发 SQL 查询 , 以传达创建、插入、更新和删除操作 。 这对于所有实际目的都足够了 , 但从 Java 程序员的角度来看是不方便的 。 如果可以将关系表的结构改造成纯 Java 类 , 然后你可以以通常的面向对象的方式处理它们会怎样? 关系表的结构是以表格形式对数据进行逻辑表示 。 表由描述实体属性的列组成 , 行是实体的集合 。
根据 Java Persistence 2.1 规范 , JPA 增加了对模式生成、类型转换方法、在查询和查找操作中使用实体图、不同步的持久性上下文、存储过程调用以及注入实体侦听器类的支持 。 它还包括对 Java Persistence 查询语言、Criteria API 和本机查询映射的增强 。
简而言之 , 它尽一切努力提供一种错觉 , 即在处理关系数据库时没有过程部分 , 一切都是面向对象的 。
JPA 实施
JPA 描述了 Java 应用程序中的关系数据管理 。 它是一个规范 , 并且有许多实现 。 一些流行的实现是 Hibernate、EclipseLink 和 Apache OpenJPA 。 JPA 通过 Java 类中的注释或 XML 配置文件定义元数据 。 但是 , 我们可以同时使用 XML 和注释来描述元数据 。 在这种情况下 , XML 配置会覆盖注释 。 这是合理的 , 因为注解是用 Java 代码编写的 , 而 XML 配置文件是 Java 代码的外部文件 。 因此 , 以后需要对元数据进行更改(如果有的话);在基于注解的配置的情况下 , 它需要直接访问 Java 代码 。 这可能总是不可能的 。 在这种情况下 , 我们可以在 XML 文件中编写新的或更改的元数据配置 , 而无需对原始代码进行任何更改 , 并且仍然具有预期的效果 。 这是使用 XML 配置的优势 。 但是 , 基于注解的配置使用起来更方便 , 是程序员的流行选择 。
由于 Red Hat , Hibernate 是所有 JPA 实现中最流行和最先进的 。 除了 JPA 实现之外 , 它还使用自己的调整和附加功能 。 它拥有更大的用户社区 , 并且有据可查 。 一些额外的专有功能是支持多租户、在查询中加入不关联的实体、时间戳管理等 。
- wi-fi|各大平台显示IP归属地 是谁动了我的隐私?
- 化妆品|直播带货或将成为过去,下一个千亿级的市场来临:罗永浩已经入局!
- 带货|圈内主播揭露“网红送手机”的内幕:“十有八九都是假的”
- 拼多多|大神的拼多多运营技巧,小白卖家的独家宝典3步走,看了不后悔
- 中国移动|中国移动怎么了?用户吐槽资费太贵,而它却未能获得相应的利润
- 苹果手机|iPhone13 Pro使用体验有感:没有吹嘘的那么神奇,但也不差!
- 小米科技|打碎倪光南院士“芯片梦”,骗取11亿研发资金的陈进,现状如何?
- 近日|苹果的布局,到底是什么?
- 近日|苹果iphone14pro渲染视频曝光:新的紫色配色
- 事情是这样的|关于无人机的一些小问题