JPA简介
首先来介绍一下JPA,JPA是 Java Persistence API
的简称,中文名称为 Java持久层API,是官方(Sun)在JDK5.0后提出的Java 持久化规范,其目的是为了简化Java EE和Java SE的应用开发工作。可以通过注解或者XML描述之间的映射关系,将实体对象持久化到数据库中。
JPA仅仅是一种规范,它仅仅定义了一些接口,而接口是需要实现才能工作,所以底层需要某种实现,而Hibernate 就是实现了 JPA 接口的ORM框架
Spring Data JPA简介
Spring Data JPA 是Spring 提供的一套简化 JPA 开发的框架。Spring Data JPA 可以理解为 JPA规范的再次封装抽象,底层还是使用了Hibernate的JPA实现。Spring Data Repository 极大地简化了实现各种持久层的数据访问而写的样板代码,同时 CrudReposity 提供了丰富的CRUD 功能去管理实体类。
优点
- 丰富的API,简单操作无需编写额外的代码
- 丰富的SQL日志输出
缺点
- 学习成本大,需要学习HQL(Hibernate 查询语言)
- 配置复杂,关系映射多表查询不容易
- 性能较差,对比 JdbcTemplate
,Mybatis
等ORM框架,它的性能是最差的
导入依赖
<!--spring data jpa 依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<!--数据库依赖-->
<dependency>
<groupId>mysql</