hibernate 对象的四种状态
(1)临时状态(transient):刚刚用new语句创建,还没有被持久化,不处于Session的缓存中。处于临时状态的Java对象被称为临时对象。
(2)持久化状态(persistent):数据库中有数据与之对应,当前与session有关联,并且相关联的session没有关闭,事务没有提交;持久对象状态发生改变,在事务提交 时会影响到数据库(hibernate能检测到)。
(3)游离状态(detached):数据库中有数据与之对应,不再处于Session的缓存中;游离对象状态发生改变,hibernate不能检测到。
(4)删除状态(removed):OID不为null。从一个Session实例的缓存中删除。被删除对象和数据库中的相关记录对应。Session已经计划将其从数据库中删除。Session在清理缓存时,会执行SQL delete语句,删除数据库中的相应记录。一般情况下,应用程序不应该再使用被删除的对象
==============================================转化图如下:=====================================

----------------------------------------------------------------------------------------------------------------------------------------------------


浙公网安备 33010602011771号