Java Persistence API(EJB3.0中的 JPA 规范说明)
### Java Persistence API (EJB 3.0 中的 JPA 规范说明) #### 引言 Java Persistence API(简称 JPA)是 Java 社区规范 JSR 220 的一部分,它定义了一种对象关系映射工具的标准,允许 Java 开发人员将 Java 应用程序对象持久化到数据库表中。JPA 首次在 EJB 3.0 版本中作为可选特性出现,并且随着 Java 社区的发展不断完善,逐渐成为 Java 平台上的标准 ORM 工具。 #### 核心概念与术语 - **实体**:在 JPA 中,一个实体是一个被持久化的类,通常代表数据库中的一个表。 - **实体管理器 EntityManager**:它是 JPA 的核心组件之一,用于管理实体的生命周期,包括创建、读取、更新和删除实体。 - **持久化上下文 Persistence Context**:持久化上下文是实体管理器维护的一组实体的状态,它可以被视为实体的一个缓存。 - **持久化单元 Persistence Unit**:它是 JPA 中的一个命名配置集,用于指定如何访问特定数据源的持久化资源。 #### 规范细节解析 - **版本信息**:此文档为 EJB 3.0 的最终发布版本,日期为 2006 年 5 月 2 日,由 Sun Microsystems 发布。版权归属 Sun Microsystems, Inc.,并规定了该规范的使用范围和限制。 - **规范制定者**:该规范由 Linda DeMichiel 和 Michael Keith 共同领导的 EJB3.0 Expert Group 制定。这两位专家分别来自 Sun Microsystems 和 Oracle Corporation。 - **许可证声明**:文档中明确指出提供了两种类型的许可: - **评估目的的许可**:允许用户查看、下载、使用和复制该规范仅用于内部评估目的。具体来说,可以使用该规范来开发旨在运行于其实施环境的应用程序,但这些应用程序本身不得实现规范的任何部分;还可以讨论该规范并与第三方进行交流;以及在口头或书面交流中摘录规范的部分内容,只要这些摘录不构成规范的重要组成部分。 - **合规实施的许可**:允许用户根据适用的版权或专利权利永久、非独占、不可转让、全球性地创建和/或分发符合规范的独立实现。该实现必须完全符合规范,包括所有必需的接口和功能;不得修改、子集、超集或以其他方式扩展许可方名称空间;不得包含许可方名称空间内的任何公共或受保护的包、类、Java 接口、字段或方法,除非这些是规范要求或授权的。 #### 实体映射机制 - **基本注解**:为了简化实体的定义和数据库表之间的映射,JPA 提供了一系列注解。例如,`@Entity` 表示类是一个实体;`@Table` 指定实体对应的数据库表;`@Id` 标识主键字段等。 - **关系映射**:支持一对一、一对多、多对一和多对多等不同类型的关联关系映射。例如,使用 `@OneToOne`、`@OneToMany`、`@ManyToOne` 和 `@ManyToMany` 注解来描述这些关系。 #### 持久化操作 - **CRUD 操作**:通过实体管理器提供 CRUD 操作的支持。例如,`persist()` 方法用于保存实体,`merge()` 用于合并,`remove()` 用于删除实体。 - **查询语言**:JPA 支持两种查询语言:JPQL(Java Persistence Query Language)和 Criteria API。JPQL 类似于 SQL,但面向实体而不是表;Criteria API 是一种类型安全的 API,用于构建复杂的查询。 #### 总结 JPA 作为 Java 平台上的一种标准 ORM 工具,极大地简化了对象与关系数据库之间的映射过程,使得开发者能够更专注于业务逻辑的编写,而无需过多关心底层数据库的操作细节。通过使用 JPA,开发者可以轻松实现数据的持久化操作,同时利用规范提供的多种特性提高开发效率和代码质量。
剩余255页未读,继续阅读
- tabimo_tabimo2013-01-17不错噢,不过最好还是去找官网下载个英文版的看看
- lms0080012013-10-17看起来很详细的。
- 粉丝: 85
- 资源: 33
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助