给springside一剂强心剂,重新点燃SSH架构的热情 3 —— 【正向工程】
之前两篇文章介绍了通过对象模型自动构建程序骨架。Hibernate 属性 hibernate.hbm2ddl.auto 设置为 create 后,运行服务器,Hibernate会自动通过模型生成数据库,这对于开发新项目时很方便。
对于需要重构的项目,数据库已经确定,如何快速地从数据库生成对象模型,使用eclipse的 hibernate 插件即可。下面不是要介绍 hibernate 工具的使用,而是挖掘一下 数据库 <=> 领域模型 的细节,如何编写自己的正向工程代码生成器。
在JDBC中 可以通过 DatabaseMetaData 获取 数据库表结构的详细信息,应该没什么问题。
在 DatabaseMetaData 中有两个重要的方法:
getImportedKeys() 外键
getExportedKeys() 被引用的外键
如何理解呢? 看看下面的示例图:

通过 getImportedKeys() 可以获得所有外键指向的表名。
通过 getImportedKeys() 可以获得所有被引用的外键所指向的表名。
通过上图可以看到,外键指向的表名 和 被引用的外键所指向的表名 是相互关联的,这样通过一定的算法,可以很容易地从数据遍历所有表信息,生成标准的 java 甚至 其它语言(如C#)的 对象模型。
单向 双向关系由你自己决定,hibernate 工具也是有一个可选参数的。
领域模型中的 单向 双向 关系 在转为关系型数据库时,属性被 解释为 外键 关联关系。从关系型数据库还原为领域模型时,对象间的指向关系 就由 上面两个方法获取。

- 大小: 39.3 KB
分享到:
相关推荐
### Springside3与传统SSH(Struts + Spring + Hibernate)的区别 #### 1. 数据库设计 在数据库设计方面,Springside3采用了一种更为现代化的方法,这体现在其对实体对象、DAO对象的设计上。它更加侧重于利用Java ...
SpringSide3是Java开发领域的一个重要参考资料,它是由知名开发者Calvin创建并维护的项目,旨在为Java开发者提供一套完整的Spring框架学习与实践指南。SpringSide3不仅包含了Spring框架的核心概念,还涵盖了Spring在...
在本次讨论中,我们将深入探讨springside3-core-3.3.4.jar这一核心组件,它是SpringSide 3项目的基石,包含了项目的核心功能和模块。 1. **SpringSide 3概述**: SpringSide 3 是由中国的Java社区开发的一个开源...
springside3是一个基于Spring框架的轻量级Java开发工具集,它旨在简化企业级应用的开发过程,提供了一套完整的构建工具、最佳实践和代码示例。在本文中,我们将深入探讨springside3的核心特性、源码结构以及如何利用...
Springside项目是基于Spring框架的一个应用架构示例,它提供了一套完整的开发模式来构建企业级Java Web应用程序。Springside 3.3.4版本作为一个成熟的发布版,不仅集成了Spring框架的核心功能,还提供了对其他开源...
SpringSide3框架,SpringSide3框架SpringSide3框架SpringSide3框架
SpringSide 是一个开源的Java项目,旨在提供一套简洁、规范的Spring应用开发模板,帮助开发者快速上手Spring框架。本版本,即“springside3.3”,是专为MyEclipse集成环境设计的,包含了完整的功能代码,方便开发者...
通过对 Springside 3.2.2 源码的深入学习,开发者可以掌握基于 Spring 的企业级应用开发技术,理解模块化设计、MVC 架构、依赖注入等核心概念,同时也能了解到项目管理和自动化构建的最佳实践。这将有助于提升开发者...
SpringSide3-core-3.3.4是SpringSide项目的一个重要版本,它是一个基于Java的轻量级开发框架,旨在简化Spring的使用,提高开发效率。这个压缩包包含了两个关键文件:springside3-core-3.3.4.jar和springside3-...
SpringSide4参考手册是一份详尽的文档,涵盖了使用SpringSide4.0版本开发应用时可能会用到的各种技术组件和模块。SpringSide是一个开源的Java开发平台,它集成了Spring框架和大量实用的组件,以方便开发人员构建复杂...
springside3-core-3.2.2
3. **示例代码**:SpringSide提供了丰富的示例代码,涵盖了Spring Framework的各种功能模块,如Spring MVC、Spring Data、Spring Security等,帮助开发者快速学习和掌握Spring的应用。 4. **文档**:SpringSide项目...
3. **Hibernate ORM**:SpringSide 3.0 集成了Hibernate,一个强大的对象关系映射(ORM)工具,用于处理数据库操作。它允许开发者用Java对象来表示数据库表,降低了数据库操作的复杂性。 4. **Quartz调度器**:...
springside3-extension-3.3.4.jar
SpringSide 是一个开源的 Java 开发框架,其版本3(SpringSide3)是基于 Spring Framework 的企业级应用开发平台,它旨在简化 Spring 的使用,提供清晰的实践指导,使得开发者能够更高效地构建高质量的企业级应用。...
springside3-core-3.3.4.jar
springside3-core-3.3.4.jar
SpringSide是基于Spring框架的一个轻量级、模块化、规范化的开发工具集,旨在提供一种快速、高效且易于维护的Java Web开发模式。在这个实例中,我们将深入探讨如何利用SpringSide进行实际项目开发,特别是其在构建...