Hibernate中的VO和PO

来源:互联网 发布:手机账本软件 编辑:程序博客网 时间:2024/04/29 11:56
 
先总结下3状态的转化关系...
Transient自由状态 -- session.save() -->  Persistent持久状态 --session.close()--> Detached游离状态

   Transient自由状态 <-- session.delete()-- Persistent持久状态 <--处于session中--  Detached游离状态

VO(值对象):将处于Transient和Detached状态时统称为值对象
PO(持久对象):将处于Persistent状态时统称为持久对象

VO和PO区别
  (1)VO是相对对立的状态,处于非管理状态
  (2)PO是由Hibernate纳入实体管理器的对象,代表了与数据库中某条记录对应的Hibernate实体,PO的变化在事务
     提交时,将反映到实际数据库中。
  (3)如果一个PO与对应的session实例分离时,PO就转换成了VO