本文详细介绍Java开源项目Hibernate
一)Hibernate意义
在一个真正的OOAD中,我们的设计首先是做UML建摸,最终将一个系统涉及所有对象(这个东西不是东西那么简单)用类图来体现一个完整的设计,我们最后可能得到这几种类:控制业务逻辑的类,保存业务数据的类module(bean类),辅助类或者更多(具体问题具体分析,但是将业务所需数据归结为一个类module更适合分层)。到数据库低层实现的时候,
为了获取数据或者存储数据,你不得不为此加上一个操作数据库的控制逻辑,到此,你完美的设计估计会为此付出巨大的努力,因为你看到的业务数据层是一个复杂的模块,即使从面向对象观点来看,我们UML类图中的,业务数据层只是一个数据模块。Hibernate已经帮我们解决了业务数据层这个本来十分复杂的模块的底层实现,现在,我们只要在外层裹上我们的代表数据的类即可。
二)对象模型与关系数据库模型差异
在写出我初探Hibernate的感受之前,我觉得写下这一节还是很有必要的。带着问题研究远远比带着好奇研究要意义深远得多。
问题领域:
关系型数据库是存储数据的最好选择,但是随着OO技术日益发展,在persisitent层上关系型数据库的设计体系与OO体系格格不入,可以想象,当满脑子充斥着OOAD的你想到怎么隔离满天飞的SQL语句时,那是多么痛苦的表情。无论你的业务层设计多么完美,在真正储存数据或者加载数据时,你面对的无非是一大堆封装好的数据,这些数据在JDBC中已经完全失去对象(这里的对象称之为业务对象或许更为确切)的意义,你整体的OOAD到此为止。为什么会造成这种情况呢?原因是对象模型与关系数据库模型根本设计体系之间的差别。
对象模型与关系数据库模型各自理论出发点是不同的:对象模型的理论体系可以简单归结为这两点:
责编:豆豆技术应用
- Java新闻
- Java入门教程
- Java开发工具
- J2EE
- J2SE
- J2ME
- EJB/Spring
- Applet/Swing
- Servlet/JSP
- Struts/Hibernate
- JDBC/JDO
- Ajax
- 认证考试
- JAVA对象比较器Comparator
- Java 6 RowSet 使用完全剖析
- 深入了解"Java"中的“异常机制”
- 讨论5种跟踪Java执行的方法
- Java专业术语标准化规范
- java中线程概念描述
- JAVA中的反射机制详解
- Java语言灵巧指针与垃圾回收
- 讲述java语言中内部类的研究
- Java对于Cookie的操作详解