【Hibernate学习笔记】软件的模型
2014-04-01 19:58
162 查看
孙卫琴《精通Hibernate:Java对象持久化技术详解》 电子工业出版社
软件分析阶段: 概念模型
软件设计阶段: 域模型(面向对象)<-----对象关系映射------>数据模型(面向关系)
1. 概念模型
E-R图
2. 关系数据模型
一个或多个表
表的所有索引
视图
触发器
表与表之间的参照完整性
3. 域模型
构成域模型的基本元素是域对象(Domain Object),域对象还可叫做业务对象(Business Object,BO)。域对象可以代表业务领域中的人、地点、事物或概念。域对象分为以下几种。
1)实体域对象
采用JavaBean形式的实体域对象也称为POJO(Plain Old Java Object,简单的Java对象)。
2)过程域对象
如BusinessService
3)事件域对象
域对象之间的关系:
1)关联(Association)
关联指的是类之间的引用关系,关联可分为一对一、一对多和多对多关联。
关联还可以分成单向关联和双向关联。
2)依赖(Dependency)
依赖指的是类之间的访问关系。如果类A访问类B的属性或方法,或者类A负责实例化类B,那么可以说类A依赖类B。和关联关系不同,无需把类B定义为类A的属性。依赖关系在实体域对象之间不常见,但是过程域对象往往依赖实体域对象,因为过程域对象会创建实体域对象,或者会访问实体域对象的属性及方法。
3)聚集(Aggregation)
聚集指的是整体与部分之间的关系,例如人与兽就是聚集关系。
4)一般化(Generalization)
一般化指的是类之间的继承关系。
软件分析阶段: 概念模型
软件设计阶段: 域模型(面向对象)<-----对象关系映射------>数据模型(面向关系)
1. 概念模型
E-R图
2. 关系数据模型
一个或多个表
表的所有索引
视图
触发器
表与表之间的参照完整性
3. 域模型
构成域模型的基本元素是域对象(Domain Object),域对象还可叫做业务对象(Business Object,BO)。域对象可以代表业务领域中的人、地点、事物或概念。域对象分为以下几种。
1)实体域对象
采用JavaBean形式的实体域对象也称为POJO(Plain Old Java Object,简单的Java对象)。
2)过程域对象
如BusinessService
3)事件域对象
域对象之间的关系:
1)关联(Association)
关联指的是类之间的引用关系,关联可分为一对一、一对多和多对多关联。
public class Order { private Long id; private String orderNumber; private double price; // ****** private Customer customer; …… }
关联还可以分成单向关联和双向关联。
2)依赖(Dependency)
依赖指的是类之间的访问关系。如果类A访问类B的属性或方法,或者类A负责实例化类B,那么可以说类A依赖类B。和关联关系不同,无需把类B定义为类A的属性。依赖关系在实体域对象之间不常见,但是过程域对象往往依赖实体域对象,因为过程域对象会创建实体域对象,或者会访问实体域对象的属性及方法。
3)聚集(Aggregation)
聚集指的是整体与部分之间的关系,例如人与兽就是聚集关系。
public class Person { private Set hands = new HashSet(); …… }可见,聚集关系和关联关系在类的定义上有相同的形式,不过两者有不同的语义。对于聚集关系,部分类的对象不能单独存在,它的生命周期依赖于整体类的对象的生命周期,当整体消失,部分也就随之消失。而对于存在关联关系的两个类,可以允许每个类的对象都单独存在,例如雇员和雇主就是这样的关联关系。
4)一般化(Generalization)
一般化指的是类之间的继承关系。
相关文章推荐
- 软件开发过程及几个常见的开发模型(软件工程学习笔记)
- 软件测试学习笔记之一V模型
- 软件测试学习笔记4-软件测试模型
- 软件工程基础学习笔记--软件开发模型
- 软件开发学习笔记 <二>软件开发模型、Up、Rup、敏捷Up
- 传智播客Hibernate视频教程学习笔记42
- Hibernate学习笔记 多表映射
- 【学习笔记】斯坦福大学公开课(机器学习) 之广义线性模型
- 传智播客Hibernate视频教程学习笔记47
- Djanog学习笔记-模型
- Sharepoint学习笔记 –架构系列—Sharepoint的客户端对象模型(Client Object Model)
- hibernate学习笔记12--Hibernate中使用的集合类型
- (转)【D3D11游戏编程】学习笔记十二:光照模型
- 机器学模型评价与优化(学习笔记)
- linux学习笔记——yum安装软件、搭建仓库、rpm命令
- 19.笔记JAVA Spring框架学习————Spring整合Hibernate
- 【django 学习笔记】04-模型
- 吴恩达Coursera深度学习课程 DeepLearning.ai 提炼笔记(4-2)-- 深度卷积模型
- [原创]java WEB学习笔记91:Hibernate学习之路-- -HQL 迫切左外连接,左外连接,迫切内连接,内连接,关联级别运行时的检索策略 比较。理论,在于理解
- [原创]java WEB学习笔记92:Hibernate学习之路-- -QBC 检索和本地 SQL 检索:基本的QBC 查询,带 AND 和 OR 的QBC,统计查询,排序,分页