您的位置: 主页 > VO对象和PO对象之间的区别

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

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


上一篇:(江苏苏州UV胶)Instant Dry Shadow MR290不含US DYMAX UV胶
下一篇:没有了

您可能喜欢

回到顶部