JPA(Java Persistence API)是Java平台上的一个对象关系映射(ORM)规范,它提供了一套API,允许开发者通过面向对象的方式来管理Java应用程序中的关系数据。以下是JPA的主要特点:
ORM映射元数据
JPA支持使用XML或JDK 5.0的注解来描述对象和数据库表之间的映射关系。
Java持久化API
JPA定义了一套API,开发者可以通过这些API来执行CRUD(创建、读取、更新、删除)操作,而不必直接编写SQL语句。
查询语言
JPA支持JPQL(Java Persistence Query Language),这是一种面向对象的查询语言,用于查询数据,可以避免程序与SQL语句的紧密耦合。
持久化策略文件
在实体类路径下的`meta-INF`目录中,开发者需要配置`persistence.xml`文件,这是持久化策略文件,用于定义持久化相关的设置。
支持的开源实现
JPA的底层实现包括Hibernate、Eclipselink(以前称为Toplink)、OpenJPA等流行的开源ORM框架。
与EJB的关系
JPA是从EJB2.x以前的实体Bean(Entity bean)中分离出来的,EJB3以后不再使用实体Bean,而是将实体Bean的功能放入JPA中实现。
独立于容器
JPA可以脱离容器独立运行,使得开发和测试更加方便。
JPA的设计旨在简化持久化开发工作,整合ORM技术,并提供一个标准化的持久化接口,使得Java开发人员可以更加高效地管理关系数据。