1 1. Java 对象持久化概述 1.1. 应用程序的分层体系结构 1.1.1. 基于B/S 的典型三层架构 说明: 1, 展现层:提供与用户交互的界面。 2, 业务逻辑层:实现各种业务逻辑。 3, 数据访问层:负责存放和管理应用程序的持久化业务数据。 1.1.2. 数据访问层与Hibernate 在 Java 应用程序中的角色 数据访问层(持久化层)封装了数据访问的细节,为业务逻辑层提供了面向对象的API。完善的持久化层应该达到的目标: 1, 代码重用性高,可完成所有的数据访问操作。 2, 如果需要的话,能够支持多种数据库平台。 3, 具有相对独立性,当持久化层变化时,不会影响上层实现。 在数据访问层(持久化层)中可以使用Hibernate 框架以实现要求,如下图所示: 展现层 业务逻辑层 数据访问层 数据库 2 1.2. 软件模型 1.2.1. 各种模型的说明 概念模型: 模拟问题域中的真实实体。描述每个实体的概念和属性及实体间关系。不描述实体行为。实体间的关系有一对一、一对多和多对多。。 关系数据模型: 在概念模型的基础上建立起来的,用于描述这些关系数据的静态结构。有以下内容组成: 1, 若干表 2, 表的所有索引 3, 视图 4, 触发器 5, 表与表之间的参照完整性 3 域模型: 在软件的分析阶段创建概念模型,在软件设计阶段创建域模型。 组成部分: 1, 具有状态和行为的域对象。 2, 域对象之间的关联。 域对象(domain object): 构成域模型的基本元素就是域对象。对真实世界的实体的软件抽象,也叫做业务对象(Business Object,BO)。域对象可代表业务领域中的人、地点、事物或概念。 域对象分为以下几种: 1, 实体域对象:通常是指业务领域中的名词。(plain old java object,简单 Java对象)。 2, 过程域对象:应用中的业务逻辑或流程。依赖于实体域对象,业务领域中的动词。如发出订单、登陆等。 3, 事件域对象:应用中的一些事件(警告、异常)。 1.2.2. 域对象间的关系 关联: 类间的引用关系。以属性定义的方式表现。 4 依赖: 类之间访问关系。无需定义成属性。在 A 中访问B 中的方法或属性,或者 A 负责实例化 B。 聚集(Aggregation): 整体与部分的关系。例人与手的关系。部分类的对象不能单独存在,他的生命周期依赖于整体类的对象的生命周期,整体消失时,部分也随之消失。 一般化(Generalization): 类之间继承关系。 5 1.2.3. 域对象的持久化...