先总结下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
Transient自由状态 --
VO(值对象)
PO(持久对象)