认识SpringData JPA
简介
JPA全称Java Persistence API,中文名是Java持久层API。用来描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。
名词解释
RDS:关系型数据库服务 Relational Database Service
RDBMS:关系数据库管理系统 Relational Database Management System
OR Mapping:对象关系映射 Object Relational Mapping
为什么会有OR Mapping
下表是object和RDBMS关系范式不匹配的一些点。
object | RDBMS | 描述 | |
---|---|---|---|
粒度 | 类 | 表 | 在对象里以类为最基本粒度,在RDBMS里是表 |
继承 | 有 | 没有 | 对象是有继承关系的,表没有继承关系 |
唯一性 | a==b | ||
a.equals(b) | 主键 | 对象通过==或者equals方法判断是否是同一个对象, | |
在表里是根据主键 | |||
关联 | 引用 | 外键 | 在关联方面对象之间是通过引用来做关联的, |
数据库中则是通过外键来表示表之间的关系 | |||
数据访问 | 逐级访问 | sql语句 | 数据访问方面,类通常是使用对象的属性来访问;在RDBMS |
里则是通过sql语句 |
在这个不匹配的大背景下,需要一些对象映射框架来做这些不匹配之间的桥接。
JPA和OR Mapping
JPA为对象关系映射提供了一个持久化模型,这个模型是基于POJO的。JPA是在OR Mapping框架之上又做的一层抽象。
SpringData JPA
Spring将和数据相关的部分放到了一个单独的模块SpringData中。在SpringData模块中又有SpringData Commons、SpringData JDBC 、SpringData JPA、SpringData Redis等子模块
知行合一