斗牛棋牌

斗牛棋牌

您现在的位置是:主页 > 新闻追踪 >

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

发布时间:2019-04-13 06:49编辑:365bet网址浏览(80)

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