JPA概述
来源:互联网 发布:node没有成员pnext 编辑:程序博客网 时间:2024/06/06 02:07
JPA是什么
JPA和hibernate之间的关系
- JPA 是 hibernate 的一个抽象(就像JDBC和JDBC驱动的关系):
- JPA 是规范:JPA 本质上就是一种 ORM 规范,不是ORM 框架 —— 因为 JPA 并未提供 ORM 实现,它只是制订了一些规范,提供了一些编程的 API 接口,但具体实现则由 ORM 厂商提供实现
- Hibernate 是实现:Hibernate 除了作为 ORM 框架之外,它也是一种 JPA 实现
- 从功能上来说, JPA 是 Hibernate 功能的一个子集
JPA优点
- 标准化: 提供相同的 API,这保证了基于JPA 开发的企业应用能够经过少量的修改就能够在不同的 JPA 框架下运行。
- 简单易用,集成方便: JPA 的主要目标之一就是提供更加简单的编程模型,在 JPA 框架下创建实体和创建 Java 类一样简单,只需要使用 javax.persistence.Entity 进行注释;JPA 的框架和接口也都非常简单,可媲美JDBC的查询能力:
- JPA的查询语言是面向对象的,JPA定义了独特的JPQL,而且能够支持批量更新和修改、JOIN、GROUP BY、HAVING 等通常只有 SQL 才能够提供的高级查询特性,甚至还能够支持子查询。
- 支持面向对象的高级特性: JPA 中能够支持面向对象的高级特性,如类之间的继承、多态和类之间的复杂关系,最大限度的使用面向对象的模型
JPA供应商
- JPA 的目标之一是制定一个可以由很多供应商实现的 API,目前Hibernate 3.2+、TopLink 10.1+ 以及 OpenJPA 都提供了 JPA 的实现
- JPA 的始作俑者就是 Hibernate 的作者,Hibernate 从 3.2 开始兼容 JPA
- OpenJPA,OpenJPA 是 Apache 组织提供的开源项目
- TopLink,TopLink 以前需要收费,如今开源了
JPA包括三方面的技术
- ORM 映射元数据:JPA 支持 XML 和 JDK 5.0 注解两种元数据的形式,元数据描述对象和表之间的映射关系,框架据此将实体对象持久化到数据库表中。
- JPA 的 API:用来操作实体对象,执行CRUD操作,框架在后台完成所有的事情,开发者从繁琐的 JDBC和 SQL代码中解脱出来.
- 查询语言(JPQL):这是持久化操作中很重要的一个方面,通过面向对象而非面向数据库的查询语言查询数据,避免程序和具体的 SQL 紧密耦合。
阅读全文
0 0
- JPA概述
- jpa概述
- JPA概述
- JPA概述
- (一)EJB.JPA jpa概述
- JPA概述(一)
- 深入浅出JPA--概述
- Spring Data JPA概述
- Spring-Data-JPA概述
- JPA spring @Entity @Table 概述
- JPA (Java Persistence API)概述
- JPA 之 深入浅出 --概述讲解
- JPA-1 概述与HelloWorld
- JPA (Java Persistence API)概述
- JPA教程:JPA概述、JPA实体生命周期、JPA实体映射关系、JPA查询语言
- Spring Data Jpa 概述(Spring Data Jpa 1)
- JPA实体关联关系映射之概述
- JPA概述,JPA与EJB关系,以及Java中的数据持久化技术概述
- leetcode—Median of Two Sorted Arrays
- java 并发包-AbstractQueuedSynchronizer
- LeetCode 20. Valid Parentheses
- Java生成无限制带参小程序码
- centos7上安装gitlab,配置和汉化。
- JPA概述
- Eclipse报错:java.lang.ClassNotFoundException: ContextLoaderListener
- PyInstaller 的作用
- 手机端web研发(即在手机上用浏览器进行访问的研发),研发环境搭建,涉及的几个技术,node.js,npm,ionic,vscode
- Pyhon多线程(1)
- Zookeeper的关键机制的实现原理
- filter 拦截ajax请求
- 28.Multi-process Support
- Markdown 语法备忘-TODO list等