原文:https://blog.csdn.net/wangxinyao1997/article/details/103841591
1.关于JPA
1.JPA(Java Persistence API): 用于对象持久化的API
2.Java EE 5.0 平台标准规范,使得应用程序以统一的方式访问持久层
3.JPA是Hibernate的一个抽象,同时更是一套规范,JPA 本质上就是一种 ORM 规范,不是 ORM 框架,因为 JPA 只是制订了一些规范,提供了一些编程的 API 接口,可以说Hibernate 是JPA的一种实现
4.JPA优势
标准化:提供相同的 API,这保证了基于 JPA 开发的企业应用能够经过少量的修改就能够在不同的 JPA 框架下运行
简单易用:JPA 的主要目标之一就是提供更加简单的编程模型,在 JPA 框架下创建实体和创建 Java 类一样,只需要使用 javax.persistence.Entity 进行注解
查询能力:JPA的查询语言是面向对象的,可媲美JDBC,JPA 定义了独特的JPQL,而且能够支持批量更新和修改
支持面向对象高级特性:JPA 中能够支持面向对象的高级特性,如类之间的继承、多态和类之间的复杂关系等
5.JPA技术
ORM 映射元数据:JPA 支持 XML 和 JDK 5.0 注解两种元数据的形式,元数据描述对象和表之间的映射关系,框架据此将实体对象持久化到数据库表中
JPA - > API:用来操作实体对象,执行CRUD操作,拜托繁琐的JDBC和SQL代码
查询语言(JPQL):通过面向对象而非面向数据库的查询语言查询数据,避免程序和具体的 SQL 紧密耦合
6.Spring Data是Spring 的一个子项目,用于简化数据库访问,支持NoSQL 和 关系数据存储 ,主要目的是访问数据库便捷 ,Spring Data 具有如下特点:
SpringData 项目支持 NoSQL 存储(MongoDB、Neo4j、Redis、Hbase )
SpringData 项目所支持的关系数据存储技术(JDBC、JPA)
Spring Data JPA 减少了数据访问层的开发量,只需要声明持久层接口,其他由spring data jpa完成