【Spring Boot】JPA — JPA入门

JPA简介

1. JPA是什么

JPA是Sun官方提出的Java持久化规范,它为Java开发人员提供了一种对象/关联映射工具来管理Java应用中的关系数据,通过注解或者XML描述"对象-关系表"之间的映射关系,并将实体对象持久化到数据库中,极大地简化现有的持久化开发工作以及集成ORM技术。

JPA不是一种新的ORM框架,它的出现主要是为了简化现有的持久化开发工作和整合ORM技术,结束现在Hibernate,TopLink,JDO等ORM框架各自为营的局面。它是一套规范而不是产品,而像Hibernate、TopLink等产品实现了JPA规范,我们就可以称它们为JPA的实现产品,关系如图所示。

2. JAP能做什么

JPA是在充分吸收了现有的Hibernate、TopLink、JDO等ORM框架的基础上发展而来的,具有易于使用、伸缩性强等优点。总的来说,JPA包括以下3方面的技术:

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

2)Java持久化API:用来操作实体对象,执行增、删、改、查(CRUD)操作,框架在后台替代我们完成所有的事情,将开发者从烦琐的JDBC和SQL代码中解脱出来。

3)查询语言(JPQL):这是持久化操作中重要的一个方面,通过面向对象而非面向数据库的查询语言查询数据,避免程序的SQL语句紧密耦合。

JPA解放了我们对数据库的操作,使得开发者不再需要关心数据库的表结构,需要更改的时候只需要修改对应实体类的属性即可。在微服务架构中,服务拆分得越来越细,微服务内部只需要关心自身的业务,不需要我们过多关注数据库。因此,在微服务架构中更推荐使用JPA技术。

Spring Data对JPA的支持

Spring Data JPA是Spring在ORM框架、JPA规范的基础上封装的一套JPA应用框架。

在相当长的一段时间内,实现应用程序的数据访问一直很麻烦,必须编写大量的SQL代码来执行数据查询、更新等操作。使用Spring Data JPA开发人员只需要编写repository接口和自定义查找器方法,其他的SQL语句由Spring自动提供,使得开发者从烦琐的JDBC和SQL代码中解脱出来。

虽然主流的ORM框架都实现了JPA规范,但是在不同ORM框架之间切换需要编写各自的代码,而通过使用Spring Data Jpa能够方便开发者在不同的ORM框架之间进行切换而无需要更改任何代码。这样方便开发者在Spring Boot项目中使用JPA技术,具体关系如图所示。

相关推荐
九圣残炎5 分钟前
【从零开始的LeetCode-算法】3354. 使数组元素等于零
java·算法·leetcode
IT书架18 分钟前
golang面试题
开发语言·后端·golang
天天扭码40 分钟前
五天SpringCloud计划——DAY1之mybatis-plus的使用
java·spring cloud·mybatis
程序猿小柒1 小时前
leetcode hot100【LeetCode 4.寻找两个正序数组的中位数】java实现
java·算法·leetcode
机器之心1 小时前
全球十亿级轨迹点驱动,首个轨迹基础大模型来了
人工智能·后端
不爱学习的YY酱1 小时前
【操作系统不挂科】<CPU调度(13)>选择题(带答案与解析)
java·linux·前端·算法·操作系统
丁总学Java1 小时前
Maven项目打包,com.sun.tools.javac.processing
java·maven
kikyo哎哟喂2 小时前
Java 代理模式详解
java·开发语言·代理模式
duration~2 小时前
SpringAOP模拟实现
java·开发语言
小码ssim2 小时前
IDEA使用tips(LTS✍)
java·ide·intellij-idea