JPA是Java Persistence API的简称,是JDK5.0注解或XML描述对象-关系表的映射关系(是一种标准),并将运行期的实体对象持久化到数据库中。
JPA的优势
-
标准化:JPA是JCP组织发布的Java EE标准之一,因此任何声称符合JPA标准的框架double遵循同样的架构,提供相同的访问API,这保证了基于JPA开发的企业应用能够经过少量的修改就能够在不同的JPA框架下运行。
-
容器级特性的支持:JPA框架中支持大数据集、事务、并发等容器级事务,这使得JPA超越了简单持久化框架的局限,在企业开发中有更大的作用。
-
简单方便:JPA的主要目标之一就是提供更加简单的编程;在JPA框架下创建实体和创建Java类一样简单,没有任何约束和限制,只需使用 javax.persistence.Entity 进行注释,JPA的框架和接口也都非常简单,没有太多特别多规则和设计模式的要求,开发者可以很容易地掌握。JPA基于非侵入式原则设计,因此可以很容易的和其它框架或者容器集成。
-
查询能力:JPA的查询语言是面向对象而非面向数据库的,它以面向对象的自然语法构造查询语句,可以看成是Hibernate HQL的等价物。JPA定义了对特定JPQL(Java Persistence Query language),JPQL是EJB QL的一种扩展,它是针对实体的一种查询语言,操作对象是实体,而不是关系数据库的表,而且能够支持批量更新和修改,JOIN、GROUP BY、HAVING 等通常只有SQL才能够提供的高级查询特征,甚至还能够支持子查询。
-
高级特性:JPA中能够支持面向对象的高级特征,如类之间的继承、多态和类之间的复杂关系,这样的支持能够让开发者最大限度的使用面向对象的模型设计企业应用,而不需要自行处理这些特征在关系数据库的持久化。
基于注解的使用
基于XLM的使用