精通hibernate学习笔记(1)

实体域对象的 持久化模式
1、ORM模式
对象-关系映射(Object-Relation Mapping)模式,指的是在单个组件中负责所有实体域对象的持久化,封装数据访问细节。

2、主动域对象模式
优点:
1.在实体域对象中封装自己的数据访问细节,过程域对象完全负责业务逻辑,使程序结构更加清晰。
2. 如果关系数据模型发生改变,只需要修改主动域对象的代码,不需修改过程域对象的业务方法。
缺点:
1.在实体域对象的实现中包含SQL语句
2.每个实体域对象都负责自身得数据访问实现,把这一职责分散在多个对象中,这会导致实体域对象重复实现一些共同的数据访问操作,从而造成重复编码。
主体域对象本身位于业务逻辑曾,因此采用的还是三层应用结构!并没有从业务层独立出持久化层!

3、JDO模式

JavaDataObjects(JDO)是SUN公司制定的描述对象持久化语义地标准API,因此,采用该模式时,整个应用为四层应用结构。(SUN提供API,第三方实现)
严格的说,JDO并不是对象-关系映射接口,因为它支持把对象持久化到任意一种存储系统中,包括:
1.关系数据库
2.面向对象的数据库
3.基于XML的数据库
4.其他专有的存储系统。


4、CMP模式

CMP(Container-managed Persistence)表示由EJB容器来管理实体EJB的持久化,EJB容器封装了对象-关系的映射及数据访问细节。
cmp与ORM的相似之处:都提供了对象-关系映射服务,都把对象持久化的任务从业务逻辑程序中分离出来
区别:CMP负责持久化实体EJB组件,而orm负责持久化POJO,它是普通的基于JavaBean形式的实体域对象。
二者相比前者的不足:
1、开发人员开发的实体EJB必须遵守复杂的J2EE规范,而多数的ORM中间件不强迫域对象必须满足特定的规范
2、实体EJB只能运行在EJB容器中,而POJO可以运行在任何一种Java环境中,
3、目前,EJB容器提供的对象-关系映射能力有限,许多ORM中间件都提供了完善的对象-关系映射服务。
4、尽管按照J2EE规范,EJB应该是一种可移植的组件,可是实际上,却受到很大的限制,因为不同厂商生产的CMP引擎差异很大!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值