SpringBoot----[6]---Spring Boot JPA/Hibernate/Spring Data概念
程序员文章站
2022-04-25 16:29:35
...
Spring Boot JPA/Hibernate/Spring Data概念
什么是JPA
• JPA全称Java Persistence API.JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,
并将运行期的实体对象持久化到数据库中。百度百科JPA
• 在上面只是一个JPA的定义,我们看看另外一段更能看出是什么的描述:
• JPA(Java Persistence API)是Sun官方提出的Java持久化规范。它为Java开发人员提供了
一种对象/关系映射工具来管理Java应用中的关系数据。
• 持久化(Persistence),即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。
持久化的主要应用是将内存中的对象存储在的数据库中,或者存储在磁盘文件中、XML数据文件中等等。
• 持久化是将程序数据在持久状态和瞬时状态间转换的机制。
• JDBC就是一种持久化机制。文件IO也是一种持久化机制。
• “规范”: 所谓的规范意指明文规定或约定俗成的标准。如:道德规范、技术规范,公司管理规范。
• 那么“持久化规范”就是Sun针对持久化这一层操作指定的规范,如果没有指定JPA规范,那么新起的
框架就随意按照自己的标准来了,那我们开发人员就没法把我们的经历全部集中在我们的业务层上,
过于开源了,结果导致很多厂商基于SDK二次开发,但是兼容性就不是很好,最好的例子就是Android
的头像上传,就是一件很烦人的事情。好了,JPA就介绍到这里。
什么是hibernate
• 这里引用百度百科的话hibernate:
• Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,
自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate
可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的
完成数据持久化的重任。
• 那么是ORM呢? ORM是对象关系映射的意思,英语:Object Relational Mapping简称ORM,
是一种程序技术,用于实现面向对象编程语言里不同系统类型的系统之间的数据转换。好了,
更多的概念需要自己去挖掘,这里只是抛装引玉下。
什么是springdata
• Spring Data是一个用于简化数据库访问,并支持云服务的开源框架。其主要目标是使得数据库
的访问变得方便快捷,并支持map-reduce框架和云计算数据服务。此外,它还支持基于关系型
化项目的开发,就如Spring Framework对JDBC、ORM的支持一样,Spring Data会让数据
的访问变得更加方便。
什么是SpringDataJPA
• 我们先看一个描述:
• Spring Data JPA能干什么
• 可以极大的简化JPA的写法,可以在几乎不用写实现的情况下,实现对数据的访问和操作。
除了CRUD外,还包括如分页、排序等一些常用的功能。
首先我们需要清楚的是Spring Data是一个开源框架,在这个框架中Spring Data JPA
你会发现这个代码量和使用JDBC开发一样有点烦人,所以Spring Data JPA的出现就是为
了简化JPA的写法,让你只需要编写一个接口继承一个类就能实现CRUD操作了
JPA/Hibernate 关系
• 我们先看下别人的描述:
• JPA是一种规范,而Hibernate是它的一种实现。除了Hibernate,还有EclipseLink(曾经的toplink),
OpenJPA等可供选择,所以使用Jpa的一个好处是,可以更换实现而不必改动太多代码。
推荐阅读
-
Spring Data JPA例子代码[基于Spring Boot、Mysql]
-
浅谈jpa、hibernate与spring data jpa三者之间的关系
-
在Spring Boot中使用Spring-data-jpa实现分页查询
-
spring boot,hibernate jpa,Mysql集成【原创】
-
spring boot,hibernate jpa,Mysql集成【原创】
-
spring boot之使用spring data jpa的自定义sql方式
-
Spring boot中Spring-Data-JPA操作MySQL数据库时遇到的错误(一)
-
spring-boot-data-jpa
-
JPA、Hibernate、Spring data jpa之间的关系,终于明白了
-
javaweb各种框架组合案例(六):springboot+spring data jpa(hibernate)+restful