当前位置:主页 > bt365软件下载 > 文章内容

VO对象和PO对象之间的区别

来源:365bet娱乐登录 作者:365bet体育在线总站 发布时间:2019-06-16

VO,ValueObject,PO,PersisentObject。它由一组用于获取和设置属性的属性和方法组成。
从结构的角度来看,没有区别。
但它的含义和本质完全不同。
1.使用新关键字创建VO,GC回收它。
将新数据添加到数据库时创建采购订单,并在从数据库中删除数据时删除采购订单。
它只能通过数据库连接生存,并且断开连接。
VO是一个有价值的对象。它只是一个业务对象。业务层中存在的业务对象。它由业务逻辑使用。他们的生存目的是为数据提供生存的场所。
OP具有状态,每个属性代表当前状态。
这是物理数据的对象表示。
通过使用它,您可以将程序与物理数据分离,并简化数据对象和物理数据之间的转换。
3. VO的属性取决于当前的业务。换句话说,VO的每个属性对应于当前业务逻辑所需的数据名称。
采购订单的属性对应于数据库表的字段。
PO对象需要实现序列化接口。
VO是一个独立的JavaObject。
PO是Hibernate整合到其EntityMap中的对象。表示与数据库中的记录对应的Hibernate实体。确认事务后,PO更改将反映在实际数据库中。
如果采购订单与对应于会话的实体的容器分开(例如,会话结束后的采购订单),则此时它变为VO。
HibernateVO和HibernatePO的概念在系统级别提出了一些设计问题。
与传统的MVC架构一样,模型层中的PO可以传递给其他层。
PO更新分配给实际数据库,因此将PO更改为其他级别(例如Vista层)可能会对Model层造成意外损坏。
因此,通常,不应将直接PO传递给系统中的其他层。一种解决方案是使用与PO到VO相同的属性值并将其用作传输介质(事实上,此VO用作DataTransferObject对象,即所谓的DTO,并将此VO传递给其他层马苏)。实现必要的数据传输。




(阅读次数: