JPA(Java Persistence API)是什么
JPA的官网地址:https://jcp.org/en/jsr/detail?id=338
当前最新的版本是2.2版本:https://jcp.org/aboutJava/communityprocess/mrel/jsr338/index.html
JPA是一个Java持久化的API,通过这个API,在Java EE和Java SE 环境中管理持久化和对象/关系映射(ORM)。
JPA仅仅是一个规范,不是一个实现或者一个库。因此JPA定义了一个声明遵从JPA的库必须支持的特性。例如,这些库实现了JPA规范:
- Hibernate:https://hibernate.org/
- EclipseLink:https://eclipse.dev/eclipselink/
- TopLink:https://www.oracle.com/middleware/technologies/top-link.html
在项目中,可以选择直接使用Hibernate这样的库,写针对Hibernate的代码;或者使用JPA,写针对JPA的代码,然后增加Hibernate这样的库和配置文件到JPA项目中。
在理论上,JPA可以让你不需要关心项目使用的是什么持久化提供者的库(Hibernate、EclipseLink)。但实际上,Hibernate是目前最流行的JPA实现,JPA的特性反而不如Hibernate的特性多,可以认为是Hibernate特性的子集。