VO与PO 的理解

pos->vos
vos change vos ->pos  pos saveorupdate 

报错 hiberbate  org.hibernate.nonuniqueobjectexception: a different object with the same identifier value
正确的步骤
pos  change   pos saveorupdate 

总结:1.vo是复杂的前端对象,二po是对应表的对象,如果前端也是需要一个简单的对象那么po没有必要转为Vo,可以直接传到前台去。

po不应该被理解为只在dao层用,她也可以去前台。

2.如果说vo表示复杂前端对象,那么po表示简单前端对象和持久化对象。po和贯穿controller 和service dao。vo应该只在controller service 。

3.vo 是要到前台去的,po是不必去前台只在后台内存中转了一圈又回数据库的。如果Po变成了复杂对象可以使用vo代替然后在去前台。

原文地址:https://www.cnblogs.com/mumian2/p/10307015.html

时间: 2024-10-13 15:08:52

VO与PO 的理解的相关文章

关于VO、PO的理解——java的(PO,VO,TO,BO,DAO,POJO)解释

O/R Mapping 是 Object Relational Mapping(对象关系映射)的缩写.通俗点讲,就是将对象与关系数据库绑定,用对象来表示关系数据. 在O/R Mapping的世界里,有两个基本的也是重要的东东需要了解,即VO,PO. VO,值对象(Value Object),PO,持久对象(Persisent Object),它们是由一组属性和属性的get和set方法组成.从结构上看,它们并没有什么不同的地方.但从其意义和本质上来看是完全不同的. 1.VO是用new关键字创建,由

java的VO和PO的用途

最近在搞一个项目,用到了 springMVC,加深了我对VO和PO的理解,有感而发. 1 写在之前的提示 VO == Value Object PO == Persistant Object VO对应页面,PO对应实体/关系型映射 2 在你的程序中,如果没有VO,那么说明你的程序很可能不是以面向对象的思想来设计的,或者说你把PO同时当成了VO使. 实体: Order { id createDate } 当我页面上需要对订单进行创建时间过滤时,有两种方式,一种方式是非面向对象的设计,另一种是在PO

Java Bean、POJO、 Entity、 VO 、PO、DAO

Java Bean.POJO. Entity. VO , 其实都是java 对象,只不过用于不同场合罢了. Java Bean: 就是一个普通的Java 对象, 只不过是加了一些约束条件.  声明的 property 是 private 的, 并且,实现了 Get 和set 方法. POJO:  Plain Old Java  Object . 一个普通的对象而已: Entity: 实体的意思. 在访问数据库时,才声明 Entity. 说白了, 一个Entity 就是对应表中的一条记录. 当 i

Java Web开发 之VO、PO、DTO等收集

DAL(数据访问层) SOA Service Orient Architecture 面向服务的设计 PO:全称是persistant object持久对象最形象的理解就是一个PO就是数据库中的一条记录.好处是可以把一条记录作为一个对象处理,可以方便的转为其它对象. BO:全称是business object:业务对象主要作用是把业务逻辑封装为一个对象.这个对象可以包括一个或多个其它的对象.比如一个简历,有教育经历.工作经历.社会关系等等.我们可以把教育经历对应一个PO,工作经历对应一个PO,社

VO , PO , BO , QO, DAO ,POJO

VO , PO , BO , QO, DAO ,POJO, O/R Mapping 是 Object Relational Mapping (对象关系映射)的缩写.通俗点讲,就是将对象与关系数据库绑定,用对象来表示关系数据.在 O/R Mapping 的世界里,有两个基本的也是重要的东东需要了解,即 VO , PO . VO ,值对象 (Value Object) , PO ,持久对象 (Persisent Object) ,它们是由一组属性和属性的 get 和 set 方法组成.从结构上看,它

在Java中VO , PO , BO , QO, DAO ,POJO是什么意思

在Java中VO , PO , BO, DAO ,POJO是什么意思 最近在项目中,遇到VO,我的天...那就一起学习回忆一下 首先简单说明下: O/R  Mapping是Object Relational Mapping(对象关系映射)的缩写.简单来说,就是将对象和关系数据库绑定,用对象来表示关系数据. Java WEB三层架构咱们更需要熟练使用 VO:值对象(Value Object) 用new关键字创建,有GC回收通常用于业务层之间的数据传递,一般是抽象出的业务对象,可以和数据表相对应,也

VO BO PO

PO(persistant object) 持久对象 就是数据库模型 通过映射 转化成的 持久化类 model在o/r映射的时候出现的概念,如果没有o/r映射,没有这个概念存在了.通常对应数据模型(数据库),本身还有部分业务逻辑的处理.可以看成是与数据库中的表相映射的java对象.最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合.PO中应该不包含任何对数据库的操作.VO(value object) 值对象 便于使用在po的基础上进行又一次加工而产生的对象通常用于业务层之间

Java中 VO、 PO、DO、DTO、 BO、 QO、DAO、POJO的概念

PO(persistant object) 持久对象 在 o/r 映射的时候出现的概念,如果没有 o/r 映射,没有这个概念存在了.通常对应数据模型 ( 数据库 ), 本身还有部分业务逻辑的处理.可以看成是与数据库中的表相映射的 java 对象.最简单的 PO 就是对应数据库中某个表中的一条记录,多个记录可以用 PO 的集合. PO 中应该不包含任何对数据库的操作. DO(Domain Object)领域对象 就是从现实世界中抽象出来的有形或无形的业务实体.一般和数据中的表结构对应. TO(Tr

【转】VO BO PO 介绍

原文链接:http://www.cnblogs.com/zander/archive/2012/08/11/2633344.html PO(persistant object)(个人理解:就是数据库模型 通过映射 转化成的 持久化类 model) 持久对象 在o/r映射的时候出现的概念,如果没有o/r映射,没有这个概念存在了.通常对应数据模型(数据库),本身还有部分业务逻辑的处理.可以看成是与数据库中的表相映射的java对象.最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集