电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

java之PO、VO、BO

java之PO、VO、BO_第1页
1/6
java之PO、VO、BO_第2页
2/6
java之PO、VO、BO_第3页
3/6
java 之 PO,VO,TO,BO,DAO,POJO 名词介绍 2010-09-20 08:45:05 我来说两句 收藏 我要投稿 [字体:小 大 ] O/R Mapping 是 Object Relational Mapping (对象关系映射)的缩写。通俗点讲,就是将对象与关系数据库绑定,用对象来表示关系数据。在O/R Mapping 的世界里,有两个基本的也是重要的东东需要了解,即VO, PO。 VO,值对象(Value Object), PO,持久对象(Persisent Object),它们是由一组属性和属性的get 和set 方法组成。从结构上看,它们并没有什么不同的地方。但从其意义和本质上来看是完全不同的。 1. VO 是用new 关键字创建,由GC 回收的。 PO 则是向数据库中添加新数据时创建,删除数据库中数据时削除的。并且它只能存活在一个数据库连接中,断开连接即被销毁。 2. VO 是值对象,精确点讲它是业务对象,是存活在业务层的,是业务逻辑使用的,它存活的目的就是为数据提供一个生存的地方。 PO 则是有状态的,每个属性代表其当前的状态。它是物理数据的对象表示。使用它,可以使我们的程序与物理数据解耦,并且可以简化对象数据与物理数据之间的转换。 3. VO 的属性是根据当前业务的不同而不同的,也就是说,它的每一个属性都一一对应当前业务逻辑所需要的数据的名称。 PO 的属性是跟数据库表的字段一一对应的。 PO 对象需要实现序列化接口。 ------------------------------------------------- PO 是持久化对象,它只是将物理数据实体的一种对象表示,为什么需要它?因为它可以简化我们对于物理实体的了解和耦合,简单地讲,可以简化对象的数据转换为物理数据的编程。 VO 是什么?它是值对象,准确地讲,它是业务对象,是生活在业务层的,是业务逻辑需要了解,需要使用的,再简单地讲,它是概念模型转换得到的。 首先说PO 和 VO 吧,它们的关系应该是相互独立的,一个VO 可以只是PO 的部分, 也可以是多个PO 构成,同样也可以等同于一个PO( 当然我是指他们的属性)。正因为这样,PO 独立出来,数据持久层也就独立出来了,它不会受到任何业务的干涉。又正因为这样,业务逻辑层也独立开来,它不会受到数据持久层的影响,业务层关心的只是业务逻辑的处理,至于怎么存怎么读交给别人吧!不过,另外一点,如果我们没有使用数据持久层,或者说没有使用hibernate,那么PO 和 VO 也可以是同一个东西,虽然这并不好。 --------------------------------------------------...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

java之PO、VO、BO

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部