JPA、Hibernate、Spring Data JPA 的关系,你懂吗?

2021-01-11 12:32

阅读:750

标签:面向   href   执行   ransient   dao层   除了   api   sch   点赞   

来源:oschina
https://my.oschina.net/u/3080373/blog/1828589

技术图片

什么是JPA?

全称Java Persistence API,可以通过注解或者XML描述【对象-关系表】之间的映射关系,并将实体对象持久化到数据库中。

为我们提供了:

1)ORM映射元数据:JPA支持XML和注解两种元数据的形式,元数据描述对象和表之间的映射关系,框架据此将实体对象持久化到数据库表中;

如:@Entity、@Table、@Column、@Transient等注解。

2)JPA 的API:用来操作实体对象,执行CRUD操作,框架在后台替我们完成所有的事情,开发者从繁琐的JDBC和SQL代码中解脱出来。

如:entityManager.merge(T t);

3)JPQL查询语言:通过面向对象而非面向数据库的查询语言查询数据,避免程序的SQL语句紧密耦合。

如:from Student s where s.name = ?

但是:

JPA仅仅是一种规范,也就是说JPA仅仅定义了一些接口,而接口是需要实现才能工作的。所以底层需要某种实现,而Hibernate就是实现了JPA接口的ORM框架。

也就是说:

JPA是一套ORM规范,Hibernate实现了JPA规范!如图:

技术图片

什么是 Spring Data JPA?

spring data jpa是spring提供的一套简化JPA开发的框架,按照约定好的【方法命名规则】写dao层接口,就可以在不写接口实现的情况下,实现对数据库的访问和操作。同时提供了很多除了CRUD之外的功能,如分页、排序、复杂查询等等。

Spring Data JPA 可以理解为 JPA 规范的再次封装抽象,底层还是使用了 Hibernate 的 JPA 技术实现。如图:

技术图片

接口约定命名规则:

技术图片

实例:

技术图片

技术图片

springboot集成spring data jpa只需两步:

第一步:导入maven坐标

技术图片

第二步:yml配置文件中配置jpa信息

技术图片

推荐去我的博客阅读更多:

1.Java JVM、集合、多线程、新特性系列教程

2.Spring MVC、Spring Boot、Spring Cloud 系列教程

3.Maven、Git、Eclipse、Intellij IDEA 系列工具教程

4.Java、后端、架构、阿里巴巴等大厂最新面试题

觉得不错,别忘了点赞+转发哦!

JPA、Hibernate、Spring Data JPA 的关系,你懂吗?

标签:面向   href   执行   ransient   dao层   除了   api   sch   点赞   

原文地址:https://www.cnblogs.com/javastack/p/12957000.html


评论


亲,登录后才可以留言!