Java的JPA技术
JPA(Java Persistence Annotation)是 Java 的标准解决方案,用于弥合面向对象的领域模型和关系数据库系统之间的差距。这个想法是将 Java 类映射到关系表,并将这些类的属性映射到表中的行。通过在同一编程范式中无缝协作两种不同的技术,这改变了 Java 编码整体体验的语义。本文提供了一个概述及其在 Java 中的支持实现。
概述
关系数据库可能是计算中可用的所有持久性技术中最稳定的,而不是与之相关的所有复杂性。这是因为今天,即使在所谓的“大数据”时代,“NoSQL”关系数据库的需求量也一直在增长。关系数据库是稳定的技术,不仅仅是文字,而是它多年来的存在。NoSQL 可能适合处理企业中的大量结构化数据,但通过关系数据库更好地处理大量事务性工作负载。此外,还有一些与关系数据库相关的出色分析工具。
为了与关系数据库进行通信,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 和本机查询映射的增强。
简而言之,它尽一切努力提供一种错觉,即在处理关系数据库时没有过程部分,一切都是面向对象的。
Java入门推荐:https://www.bilibili.com/video/BV1UY411j7A9?spm_id_from=333.999.0.0
搜索
复制