最佳答案
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需要的属性,就不能偷懒了各层操作属于该层自己的数据对象,这样就可以降低各层之间的耦合,便于以后系统的维护和扩展。