JPA & Spring Data--JPA的介绍

JPA的介绍

在介绍jpa之前,先介绍下jdbc,此处的jdbc起的作用和jpa是一样的作用,都是作为一组规范

在这里插入图片描述

JPA是什么

Java Persistence API:用于持久化的API
Java EE 5.0平台标准的ORM规范,使得应用程序以统一的方式访问持久层
在这里插入图片描述

JPA和Hibernate的关系

JPA是hibernate的一个抽象(就像JDBC和JDBC驱动的关系):

---JPA是规范:JPA本质上是一种ORM规范,不是ORM框架,因为JPA并未提供ORM实现,它只是制定了一些规范,提供了一些编程的API接口,但具体实现则由ORM厂商提供实现
---Hibernate是实现:Hibernate除了作为ORM框架之外,它也是一种JPA实现
从功能上来说,JPA是Hibernate功能的一个子集

JPA的供应商

JPA的目标之一是制定一个可以由很多供应商实现的API,目前Hibernate 3.2+、TopLink10.1+以及OpenJPA都提供了JPA的实现

Hibernate

---JPA的倡导者就是Hibernate的作者
---Hibernate从3.2开始兼容JPA

OpenJPA

---OpenJPA是Apache组织提供的开源项目

TopLink

---TopLin以前需要收费,如今开源了

JPA的优势

标准化:提供相同的API,这保证基于JPA开发的企业应用能够经过少量的修改就能够在不同的JPA框架下运行

简单易用,集成方便:JPA的主要目标之一就是提供更加简单的编程模型,在JPA框架下创建实体和创建java类一样简单,只需要使用javax.persistence.Entity进行注释;JPA的框架和接口也都是非常简单

可媲美JDBC的查询能力:JPA的查询语言是面向对象的,JPA定义了独特的JPQL,而且能够支持批量更新和修改、JOIN、GROUP BY、HAVING等通常只有SQL才能够提供的高级查询特性,甚至还能够支持子查询

支持面向对象的高级特性:JPA中能够支持面向对象的高级特性,如类之间的继承、多态和类之间的复杂关系,最大限度的使用面向对象的模型

JPA包括三方面的技术

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

JPA的API:用来操作实体对象,执行CRUD操作,框架在后台完成所有的事情,开发者从繁琐的JDBC和SQL代码中解脱出来

查询语言(JPQL):这个是持久化操作中很重要的一个方面,通过面向对象而非面向数据库的查询语言查询数据,避免程序和具体的SQL紧密耦合
已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页