vo与po的区别

vo与po的区别,第1张

po和vo的区别如下:

VO和PO的主要区别在于:VO是独立的Java Object。PO是由Hibernate纳入其实体容器(Entity Map)的对象,它代表了与数据库中某条记录对应的Hibernate实体,PO的变化在事务提交时将反应到实际数据库中。

VO,值对象(Value Object),PO,持久对象(Persisent Object),它们是由一组属性和属性的get和set方法组成。从结构上看,它们并没有什么不同的地方。但从其意义和本质上来看是完全不同的。

po和vo:

VO也是一个实体类,这个实体用于表示层和逻辑层的数据交换的一个对象。例如数据库有一个用户表(id,username,password,age)我们需要把它显示在页面上那么po的属性应该包括id,username,password,age,也就表中所有的字段。

有时候也会偷懒直接用po代替vo,取数据的时候不选择password那列,但是有些时候vo的属性跟po的不一致,甚至po中没有vo需要的属性,就不能偷懒了各层 *** 作属于该层自己的数据对象,这样就可以降低各层之间的耦合,便于以后系统的维护和扩展。

PO的全称是:持久对象(persistant object)。最形象的理解就是一个PO就是数据库中的一条记录。好处是可以把一条记录作为一个对象处理,可以方便的转为其它对象。PO是由一组属性和属性的get和set方法组成。

在o/r映射的时候出现的概念,如果没有o/r映射,就没有这个概念存在了。通常对应数据模型(数据库),本身还有部分业务逻辑的处理。可以看成是与数据库中的表相映射的java对象。最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合。PO中应该不包含任何对数据库的 *** 作。

PO的属性是跟数据库表的字段一一对应的。PO对象需要实现序列化接口。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9257826.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存