先总结下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(持久对象)
本文深入解析Hibernate对象状态管理机制,详细阐述了对象从Transient、Persistent到Detached状态的转化过程,并对比了VO(非管理状态对象)与PO(持久化对象)之间的关键区别,强调了PO在事务提交时会反映到数据库中的特性。
1657

被折叠的 条评论
为什么被折叠?



