第六章 EJB3.0 持久
化
教材:《精通 EJB3.0 》
电子工业出版社
一、 POJO
POJO ( Plain Old Java Objects )实际就是普通 Jav
aBeans, 使用 POJO 名称是为了避免和 EJB 混淆起来,而
且简称比较直接。其实就是含有一些私有属性及其 getter 、
setter 方法的类。这是 JavaBeans 的简单属性。
一个简单属性表示一个伴随有一对 get/set 方法的变
量。属性名与和该属性相关的 get/set 方法名对应。例如,
如果有 setA 和 getA 方法,则暗指有一个名为“ a” 的属性。
EJB3.0 定义的持久化 API ( JPA )提供的实体是纯粹
的 POJO 编程,可以像开发一般的 java bean 一样,只需
做少量的注释来定义实体关系及 O/R 映射等。
参见实例: student.java student.jsp
一、 POJO
EJB3.0 并没有对实体 Bean 进行改进,仍然采用 EJB2.
1 的实体 bean 规范 , 实体 Bean 采用了重量级方法处理企
业应用中的持久化,消耗了服务器的大量资源,带来了很差
的性能。 EJB3.0 使用了轻量级的持久化实体替代了实体 B
ean ,所以出现了 Java 持久化 API ( JPA )。但是 EJB3.
0 仍然包含了实体 Bean ,开发者可以在 EJB3.0 中选择使
用多种持久化策略。实体 Bean 的编程并不是 POJO 风格
的编程模型。
JPA 是 EJB3.0 中最重要的革新,提供了实体( Entit
y )这个持久化对象(注意:实体和实体 Bean 没有关系)。
JPA 吸收了主流持久化框架的优点如 Hibernate 、 JDO 等。
二、对象关系映射
1 、概念
对象关系映射( Object Relational Mapping, 简称
ORM )是一种为了解决面向对象与关系数据库存在的互
不匹配的现象的技术。简单的说, ORM 是通过使用描述
对象和数据库之间映射的元数据,将 java 程序中的对象
自动持久化到关系数据库中。本质上就是将数据从一种形
式转换到另外一种形式。
对象关系映射是随着面向对象的软件开发方法发展
而产生的。面向对象的开发方法是当今企业级应用开发环
境中的主流开发方法,关系数据库是企业级应用环境中永
久存放数据的主流数据存储系统。
二、对象关系映射
对象和关系数据是业务实体的两种表现形式,业务
实体在内存中表现为对象,在数据库中表现为关系数据。内
存中的对象之间存在关联和继承关系,而在数据库中,关系
数据无法直接表达多对多关联和继承关系。因此,对象 - 关
系映射 (ORM) 系统一般以中间件的形式存在,主要实现程
序对象到关系数据库数据的映射。
面向对象是从软件工程基本原则 ( 如耦合、封装 )
的基础上发展起来的,而关系数据库则是从数学理论发展而
来的,两套理论存在显著的区别。几乎所有的程序,都存在
对象和关系数据库。在业务逻辑层和用户界面层中,使用面
向对象的语言。当对象信息发生变化的时候,需要把对象的
信息保存在关系数据库中。