- 内容简介
- 前言
- 第 1 章 第一个 Spring Boot 项目
- 第 2 章 集成 MySQL 数据库
- 第 3 章 集成 Spring Data JPA
- 第 4 章 使用 Thymeleaf 模板引擎
- 第 5 章 Spring Boot 事务支持
- 第 6 章 使用过滤器和监听器
- 第 7 章 集成 Redis 缓存
- 第 8 章 集成 Log4j 日志
- 8.3 使用 Log4j 记录日志
- 第 9 章 Quartz 定时器和发送 Email
- 第 10 章 集成 MyBatis
- 第 11 章 异步消息与异步调用
- 第 12 章 全局异常处理与 Retry 重试
- 第 13 章 集成 MongoDB 数据库
- 第 14 章 集成 Spring Security
- 第 15 章 Spring Boot 应用监控
- 第 16 章 集成 Dubbo 和 Zookeeper
- 第 17 章 多环境配置与部署
- 第 18 章 Spring Boot 原理解析
- 参考文献
3.1 Spring Data JPA 介绍

本节主要介绍 Spring Data JPA 是什么、Spring Data JPA 核心接口 Repository、核心接口间的继承关系图。
3.1.1 Spring Data JPA 介绍
JPA(Java Persistence API)是 Sun 官方提出的 Java 持久化规范。所谓规范,即只定义标准规则,不提供实现。而 JPA 的主要实现有 Hibernate、EclipseLink、OpenJPA 等。JPA 是一套规范,不是一套产品。Hibernate 是一套产品,如果这些产品实现了 JPA 规范,那么我们可以称其为 JPA 的实现产品。
Spring Data JPA 是 Spring Data 的一个子项目,通过提供基于 JPA 的 Respository 极大地减少了 JPA 作为数据访问方案的代码量。通过 Spring Data JPA 框架,开发者可以省略实现持久层业务逻辑的工作,唯一要做的就是声明持久层的接口,其他都交给 Spring Data JPA 来完成。
3.1.2 核心接口 Repository
Spring Data JPA 最顶层的接口是 Repository,该接口是所有 Repository 类的父类。具体代码如下:
package org.springframework.data.repository; import java.io.Serializable; public interface Repository<T, ID extends Serializable> { }
Repository 类下没有任何接口,只是一个空类。Repository 接口的子类有 CrudRepository、PagingAndSortingRepository、JpaRepository 等。其中,CrudRepository 类提供了基本的增删改查等接口,PagingAndSortingRepository 类提供了基本的分页和排序等接口,而 JpaRepository 是 CrudRepository 和 PagingAndSortingRepository 的子类,继承了它们的所有接口。所以在真实的项目当中,我们都是通过实现 JpaRepository 或者其子类进行基本的数据库操作。JpaRepository 的具体代码如下:
- @NoRepositoryBean:使用该注解标明此接口不是一个 Repository Bean。
3.1.3 接口继承关系图
Repository 接口间的继承关系如图 3-1 所示。通过该继承图可以清楚地知道接口间的集成关系。在项目中,我们一般都是实现 JapRepository 类,加上自己定义的业务方法来完成业务开发。
图 3-1 Repository 接口间的继承关系
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论