目录 | 第1-7页 |
摘要 | 第7-8页 |
ABSTRACT | 第8-9页 |
插图索引 | 第9-10页 |
第1章 引言 | 第10-20页 |
1.1 对象模型存储面临的问题 | 第10-12页 |
1.1.1 模型不匹配 | 第10-11页 |
1.1.2 命名体系重复 | 第11页 |
1.1.3 对象模型存储的复杂性 | 第11-12页 |
1.2 现有主要对象模型存储方式分析 | 第12-14页 |
1.3 ORM技术研究现状及发展趋势 | 第14-17页 |
1.3.1 ORM技术的研究格局 | 第14-15页 |
1.3.2 静态ORM实现的缺陷和不足 | 第15-16页 |
1.3.3 动态ORM技术 | 第16-17页 |
1.4 实现动态ORM的困难与挑战 | 第17-18页 |
1.5 本文的研究范围及实践 | 第18-19页 |
1.5.1 本文的研究范围 | 第18页 |
1.5.2 本文所做的实践工作 | 第18-19页 |
1.6 本文的组织结构 | 第19-20页 |
第2章 对象模型的映射方法 | 第20-37页 |
2.1 映射的基本原理 | 第20-21页 |
2.2 实体唯一标识的生成机制 | 第21-23页 |
2.2.1 实体对象的相等性判断 | 第21-22页 |
2.2.2 标识的空值定义 | 第22页 |
2.2.3 标识的生成机制 | 第22-23页 |
2.3 非持久化数据的过滤 | 第23-24页 |
2.4 对象属性的映射 | 第24-26页 |
2.4.1 基本类型的映射 | 第24-25页 |
2.4.2 集合类型的映射 | 第25-26页 |
2.5 对象继承结构的映射 | 第26-28页 |
2.6 对象关系的映射 | 第28-31页 |
2.6.1 一对一关系 | 第28-30页 |
2.6.2 一对多关系 | 第30-31页 |
2.6.3 多对多关系 | 第31页 |
2.7 关系表格的生成 | 第31-33页 |
2.8 数据的双向映射过程 | 第33-35页 |
2.8.1 OBJECT MODEL到RELATION MODEL的正向映射过程 | 第33-35页 |
2.8.2 RELATION MODEL到OBJECT MODEL的逆向映射过程 | 第35页 |
2.9 小结 | 第35-37页 |
第3章 基于动态代理实现映射的手段 | 第37-53页 |
3.1 ORM的实现要求 | 第37-39页 |
3.1.1 ODMG接口兼容 | 第37-38页 |
3.1.2 语法透明 | 第38-39页 |
3.2 对象的动态代理 | 第39-44页 |
3.2.1 PROXY | 第39-42页 |
3.2.2 INTERCEPTOR | 第42-43页 |
3.2.3 结合两种技术 | 第43-44页 |
3.3 代理对象的状态切换 | 第44-46页 |
3.4 类型的动态匹配 | 第46-47页 |
3.5 映射操作的自动级联 | 第47-49页 |
3.6 对事务的处理 | 第49-51页 |
3.7 可扩展功能点的实现 | 第51-52页 |
3.8 小结 | 第52-53页 |
第4章 基于动态代理的对象映射系统的设计 | 第53-70页 |
4.1 运行环境 | 第53-54页 |
4.1.1 托管环境 | 第53页 |
4.1.2 非托管环境 | 第53-54页 |
4.2 映射系统结构图 | 第54-55页 |
4.3 映射规则的格式定义(MAPPING RULE) | 第55-58页 |
4.4 持久化中介(PERSISTENCE BROKER) | 第58-59页 |
4.5 持久化会话管理(SESSION) | 第59-61页 |
4.6 代理工厂(PROXY FACTORY) | 第61-62页 |
4.7 状态管理器(STATE MANAGER) | 第62-63页 |
4.8 持久化类型(PERSISTENCE TYPE) | 第63-64页 |
4.9 事件序列器(ACTION QUEUE) | 第64-65页 |
4.10 存储管理(STORE MANAGER) | 第65-69页 |
4.11 小结 | 第69-70页 |
第5章 测试及对比分析 | 第70-73页 |
5.1 测试实验环境 | 第70页 |
5.2 数据映射的复杂性测试 | 第70-71页 |
5.3 数据映射的效能测试 | 第71-72页 |
5.4 结论 | 第72-73页 |
结束语 | 第73-74页 |
参考文献 | 第74-77页 |
致谢 | 第77-78页 |
附录A 攻读学位期间发表学术论文 | 第78页 |