1.JPA概述
JPA(Java Persistence API)作为 Java EE 5.0平台标准的 ORM规范,将得到所有Java
EE服务器的支持。Sun这次吸取了之前EJB规范惨痛失败的经历,在充分吸收现
有 ORM框架的基础上,得到了一个易于使用、伸缩性强的 ORM规范。从目 前的
开发社区的反应上看,JPA受到了极大的支持和赞扬,JPA作为ORM领域标准化
整合者的目标应该不难实现。
JPA通过 JDK 5.0注解或 XML描述对象-关系表的映射关系,并将运行期的实体
对象持久化到数据库中,图 1很好地描述了 JPA的结构:
Sun引入新的 JPA ORM规范出于两个原因:其一,简化现有 Java EE和Java SE应
用的对象持久化的开发工作;其二,Sun希望整合对 ORM技术,实现天下归一。
JPA由 EJB 3.0软件专家组开发,作为 JSR-220实现的一部分。但它不囿于 EJB
3.0,你可以在 Web应用、甚至桌面应用中使用。JPA的宗旨是为 POJO提供持久
化标准规范,由此可见,经过这几年的实践探索,能够脱离容器独立运 行,方便
开发和测试的理念已经深入人心了。目前 Hibernate 3.2、TopLink 10.1.3以及
OpenJpa都提供了 JPA的实现。
JPA的总体思想和现有 Hibernate、TopLink,JDO等 ORM框架大体一致。总的来
说,JPA包括以下 3方面的技术:
ORM映射元数据,JPA支持 XML和 JDK 5.0注解两种元数据的形式,元数据描述
对象和表之间的映射关系,框架据此将实体对象持久化到数据库表中;
JPA 的API,用来操作实体对象,执行 CRUD操作,框架在后台替我们完成所有
的事情,开发者从繁琐的JDBC和SQL代码中解脱出来。
查询语言,这是持久化操作中很重要的一个方面,通过面向对象而非面向数据库的
查询语言查询数据,避免程序的 SQL语句紧密耦合。
附件1为jar包,附件2为教程