What is JPA
JPA可以看做是EJB3.0的一部分,但它又不限于EJB 3.0,你可以在Web应用、甚至桌面应用中使用。JPA只是一种Java持久化标准,它意在规范ORM(对象关系映射模型)框架,使ORM框架有统一的接口、统一的方法,它没有具体的实现代码,由于JPA框架中支持大数据集、事务、并发等容器级事务,这使得 JPA 超越了简单持久化框架的局限,在企业应用发挥更大的作用。
Sun引入新的JPA ORM规范出于两个原因:其一,简化现有Java EE和Java SE应用开发工作;其二,Sun希望整合ORM技术,实现天下归一;也就是说可以实现不同ORM框架之间的切换。
JPA的总体思想和现有Hibernate、TopLink、JDO等ORM框架大体一致。总的来说,JPA包括以下3方面的技术:
ORM映射元数据
JPA支持XML和JDK5.0注解两种元数据的形式,元数据描述对象和表之间的映射关系,框架据此将实体对象持久化到数据库表中;
API
用来操作实体对象,执行CRUD操作,框架在后台替代我们完成所有的事情,开发者从繁琐的JDBC和SQL代码中解脱出来。
查询语言(JPQL:是一种面向对象化的SQL语言)
这是持久化操作中很重要的一个方面,通过面向对象而非面向数据库的查询语言查询数据,避免程序的SQL语句紧密耦合。