Hibernate对象的三种状态是:瞬时状态(Transient)、持久状态(Persistent)和游离状态(Detached)。
-
瞬时状态(Transient):当一个对象通过创建一个新的实例并设置其属性时,它处于瞬时状态。此时对象没有与数据库中的任何记录有关联,并且不受Hibernate的管理和跟踪。
-
持久状态(Persistent):当一个瞬时状态的对象被关联到一个SessionFactory时,它就进入了持久状态。持久状态的对象与数据库中的记录相对应,并受Hibernate的管理和跟踪。在持久状态下,对该对象的任何更改都会在Session的flush操作后被自动同步到数据库中。
-
游离状态(Detached):当一个持久状态的对象与Session分离时,它就进入了游离状态。游离状态的对象不再受Hibernate的管理和跟踪,对该对象的任何更改都不会自动同步到数据库中。但是,游离状态的对象可以重新关联到一个Session中,然后再次变为持久状态,并且可以被Hibernate的管理和跟踪。
网友留言: