【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技术,具体关系如图所示。

相关推荐
卷福同学1 分钟前
AI浏览器comet拉新,一单20美元(附详细教程)
人工智能·后端
DoveLx5 分钟前
如何集成ElasticSearch到Spring Boot+MySQL项目中
java·elasticsearch
大鱼七成饱15 分钟前
掌握 anyhow,让你的 Rust 错误处理优雅又安全
后端·rust
2301_7720935619 分钟前
高并发webserver_interview
运维·服务器·数据库·后端·网络协议·mysql·wireshark
lazily-c26 分钟前
Web后端开发总结
java·学习·web·1024程序员节
HashTang44 分钟前
不用再配服务器了!这套 Next.js + Cloudflare 模板,一个人搞定全栈出海
前端·后端·边缘计算
凭君语未可1 小时前
深度解析Java的多态特性
java·开发语言
华仔啊1 小时前
JVM参数到底配在哪?7大场景全解,新手不再迷茫!
java·jvm
水淹萌龙2 小时前
玩转 Go 表达式引擎:expr 实战指南
开发语言·后端·golang
penguin_bark2 小时前
C++ 异步编程(future、promise、packaged_task、async)
java·开发语言·c++