hibernate实体对象的三种状态:自由状态,持久状态,游离状态.
自由态与游离态的区别:
当一个持久化对象,脱离开Hibernate的缓存管理后,它就处于游离状态,游离对象和自由对象的最大区别在于,游离对象在数据库中可能还存在一条与它 对应的记录,只是现在这个游离对象脱离了Hibernate的缓存管理,而自由对象不会在数据库中出现与它对应的数据记录
(1)自由状态(Transient)
特性:
①不在Session的缓存中,不与任何的Session实例相关联。
②在数据库中没有与之相对应的记录。
(2)持久状态(Persistent)
特性
①在Session的缓存中,与Session实例相关联。
②在数据库中存在与之相对应的记录。
( 3 ) 游离状态(Detached)/脱管状态
特性
①不在Session的缓存中,不与任何的Session实例相关联。
②在数据库中存在与之相对应的记录。(前提条件是没有其他Session实例删除该条记录)。