JPA 概述
- Java Persistence API(Java 持久层 API):用于对象持久化的 API
- 作用:使得应用程序以统一的方式访问持久层
(最下面是数据库) - JPA 与 Hibernate 的什么关系:
1)JPA 是 一个标准的接口
2)Hibernate 是 JPA 的一个实现 - Hibernate 是如何实现与 JPA 的关系的?
通过 hibernate-annotation、hibernate-entitymanager 和 hibernate-core 三个组件来实现 - JPA 包括三个方面的技术:
1)ORM JavaBean 和数据库中的数据表建立映射关系,支持 XM 和注解两种形式
2)JPA 的 API
3)查询语言:JPQL,jpql 其原型就是 hibernate 的 hql
一般在实际开发中,优先考虑使用 JPA 注解,这样更有利于程序的移植和扩展
JPA 版本
- JPA 2.0 - 此版本于 2009 年下半年发布。以下是此版本的重要功能: -
- 它支持验证。
- 它扩展了对象关系映射的功能。
- 它共享缓存支持的对象。
- JPA 2.1 - JPA 2.1 于 2013 年发布,具有以下特性: -
- 它允许提取对象。
- 它为条件更新/删除提供支持。
- 它生成模式。
- JPA 2.2 - JPA 2.2 在 2017 年作为维护开发而发布。它的一些重要特性是:
- 它支持 Java 8 的日期和时间。
- 它提供了@Repeatable 注释,当想要将相同的注释应用到声明或类型用法时可以使用它。
- 它允许 JPA 注释在元注释中使用。
- 它提供了流式查询结果的功能,就能实现分批次查询,避免一次返回数据过大导致OOM,什么是 OOM?程序申请内存过大,虚拟机无法满足我们,然后自了。
更多JPA示例项目创建或注解知识以及API可点击此处