开始用hibernate前,最好了解一下这两个概念:
1:软件模型
*概念模型(软件分析阶段):
模拟问题域中的实体.仅描述实体的概念,属性和各实体间的关系.ll
*关系数据模型:
实体对应的数据库中的表.面向关系的
*域模型(软件设计阶段):
在概念模型基础上创建,由域对象(Domin object)或称为业务对象(Bussiness Object)组成.是真实世界的实体的软件抽象,面向对象的.
主要有"实体域"和"过程域". 可以这么说:
实体域是业务数据在内存中表现形式. (譬如客户,定单等)
过程域执行业务逻辑.
2: ORM 对象关系映射
对象---关系映射,也就是映射"域模型"和"关系数据模型". Hibernate采用xml来映射对象类和数据库表.
Hibernate 就是用来处理"实体域"对象的持久化,那么什么是持久化?什么是持久层?
*持久化:就是将在内存中的实体对象永久保存.
*持久层:就是把对象从内存中持久化到数据库,文件等的数据库操作层,为业务逻辑层提供了面向对象的API.
传统的三层架构:表现层,业务逻辑层,数据库层. 用了Hibernate后.现在是在业务逻辑和数据库之间加上持久层,该层是通过配置文件自己生成的.
关于ejb方面的持久化,像CMP和BMP我不了解,也没试过,概念实在太多,但查阅了相关资料,觉得hibernate属于纯java环境,不象EJB 每个厂商都有自己的容器.所以开发者要针对每种容器做开发,有很大局限性,而Hibernate可以运行在任何环境下.
用Hibernate的好处:
1:程序员只需要关心业务逻辑.不用自己手写sql代码,这样会带来无法重用问题.譬如改变数据库结构或改变需求的时候我都要重写访问数据库代码.
2:支持多种数据库平台.
讲了那么多,该谈谈怎么用了. 关于 Eclipse 中的开发实现: 下次再谈