jpa的英文全称是“java persistence api”,表示java持久层api,是java持久化规范,它为java开发人员提供了一种对象、关联映射工具来管理java应用中的关系数据,具有标准化、简单易用、集成方便等优势。
什么是jpa?
jpa(java persistence api),中文名java持久层api,是java持久化规范,它为java开发人员提供了一种对象/关联映射工具来管理java应用中的关系数据。
jpa的出现主要是为了简化现有的持久化开发工作和整合orm技术,结束现在hibernate,toplink,jdo等orm框架各自为营的局面。
jpa是在充分吸收了现有hibernate,toplink,jdo 等orm框架的基础上发展而来的,具有易于使用,伸缩性强等优点。总的来说,jpa包括以下3方面的技术:
1、orm映射元数据
jpa支持xml和jdk5.0注解两种元数据的形式,元数据描述对象和表之间的映射关系,框架据此将实体对象持久化到数据库表中;
2、java持久化api
用来操作实体对象,执行crud操作,框架在后台替代我们完成所有的事情,开发者从繁琐的jdbc和sql代码中解脱出来。
3、查询语言(jpql)
这是持久化操作中很重要的一个方面,通过面向对象而非面向数据库的查询语言查询数据,避免程序的sql语句紧密耦合。
jpa的优势是什么?
1、标准化
jpa 是 jcp 组织发布的 java ee 标准之一,因此任何声称符合 jpa 标准的框架都遵循同样的架构,提供相同的访问 api,这保证了基于jpa开发的企业应用能够经过少量的修改就能够在不同的jpa框架下运行。
2、对容器级特性的支持
jpa 框架中支持大数据集、事务、并发等容器级事务,这使得 jpa 超越了简单持久化框架的局限,在企业应用发挥更大的作用。
3、简单易用,集成方便
jpa的主要目标之一就是提供更加简单的编程模型:在jpa框架下创建实体和创建java 类一样简单,没有任何的约束和限制,只需要使用 javax.persistence.entity进行注释;jpa的框架和接口也都非常简单,没有太多特别的规则和设计模式的要求,开发者可以很容易的掌握。jpa基于非侵入式原则设计,因此可以很容易的和其它框架或者容器集成。
4、可媲美jdbc的查询能力
jpa的查询语言是面向对象而非面向数据库的,它以面向对象的自然语法构造查询语句,可以看成是hibernate hql的等价物。jpa定义了独特的jpql(java persistence query language),jpql是ejb ql的一种扩展,它是针对实体的一种查询语言,操作对象是实体,而不是关系数据库的表,而且能够支持批量更新和修改、join、group by、having 等通常只有 sql 才能够提供的高级查询特性,甚至还能够支持子查询。
5、支持面向对象的高级特性
jpa中能够支持面向对象的高级特性,如类之间的继承、多态和类之间的复杂关系,这样的支持能够让开发者最大限度的使用面向对象的模型设计企业应用,而不需要自行处理这些特性在关系数据库的持久化。
相关视频教程推荐:《java教程》
以上就是jpa是什么?jpa有什么优势?的详细内容。