Spring Boot JPA ,Hibernate,Spring Data

1、什么是JPA

Java Persistence API:用于对象持久化的 API

Java EE 5.0 平台标准的 ORM 规范,使得应用程序以统一的方式访问持久层

Java持久化规范,是从EJB2.x以前的实体Bean(Entity

bean)分离出来的,EJB3以后不再有实体bean,而是将实体bean放到JPA中实现。JPA是sun提出的一个对象持久化规范,各JavaEE应用服务器自主选择具体实现,JPA的设计者是Hibernate框架的作者,因此Hibernate作为Jboss服务器中JPA的默认实现,Oracle的Weblogic使用EclipseLink(以前叫TopLink)作为默认的JPA实现,IBM的Websphere和Sun的Glassfish默认使用OpenJPA(Apache的一个开源项目)作为其默认的JPA实现。

JPA的底层实现是一些流行的开源ORM(对象关系映射)框架,因此JPA其实也就是java实体对象和关系型数据库建立起映射关系,通过面向对象编程的思想操作关系型数据库的规范。

2、持久化

狭义的理解: “持久化”仅仅指把域对象永久保存到数据库中;广义的理解,“持久化”包括和数据库相关的各种操作。

●    保存:把域对象永久保存到数据库。

●    更新:更新数据库中域对象的状态。

●    删除:从数据库中删除一个域对象。

●    加载:根据特定的OID,把一个域对象从数据库加载到内存。

●    查询:根据特定的查询条件,把符合查询条件的一个或多个域对象从数据库加载内在存中。

持久化技术封装了数据访问细节,为大部分业务逻辑提供面向对象的API。

● 通过持久化技术可以减少访问数据库数据次数,增加应用程序执行速度;

● 代码重用性高,能够完成大部分数据库操作;

● 松散耦合,使持久化不依赖于底层数据库和上层业务逻辑实现,更换数据库时只需修改配置文件而不用修改代码。

3、什么是hibernate

HIbernate是一种ORM(Object Relation Mapping)就是对象关系映射,Hibernate可以轻松的把数据库中的表映射成我们类描述的对象(一般而言,一张表或者一个视图会对应程序中的一个类),这样在我们连接数据库的时候,可以像访问对象一样简单的访问数据库中的表

4、什么是ORM

即Object-Relationl Mapping,它的作用是在关系型数据库和对象之间作一个映射,这样,我们在具体的操作数据库的时候,就不需要再去和复杂的SQL语句打交道,只要像平时操作对象一样操作它就可以了 。

5、什么是Spring Data?

Spring Data 项目的目的是为了简化构建基于 Spring 框架应用的数据访问计数,包括非关系数据库、Map-Reduce 框架、云数据服务等等;另外也包含对关系数据库的访问支持。

Spring Data 包含多个子项目:

Commons - 提供共享的基础框架,适合各个子项目使用,支持跨数据库持久化

Hadoop - 基于 Spring 的 Hadoop 作业配置和一个 POJO 编程模型的 MapReduce 作业

Key-Value  - 集成了Redis和Riak,提供多个常用场景下的简单封装

Document - 集成文档数据库:CouchDB和MongoDB并提供基本的配置映射和资料库支持

Graph - 集成Neo4j提供强大的基于 POJO 的编程模型

Graph Roo AddOn - Roo support for Neo4j

JDBC Extensions - 支持 Oracle RAD、高级队列和高级数据类型

JPA - 简化创建 JPA 数据访问层和跨存储的持久层功能

Mapping - 基于 Grails 的提供对象映射框架,支持不同的数据库

Examples - 示例程序、文档和图数据库

Guidance - 高级文档

6、JPA/Hibernate的关系

JPA是一个规范,不是框架

hibernate是JPA的实现

你可能感兴趣的:(Spring Boot JPA ,Hibernate,Spring Data)