Hibernate的持久化状态

 

1)、瞬时状态

该实例是刚用new语句创建的,还没有持久化,不处于任何Session的缓存中,它没有对象表示符(主键);

特点:

不跟任何Session实例关联,在数据库中没有对应的记录。

2)、持久化状态

已经被持久化,加入到Session缓存中,实例目前与某个Session实例相关联,它拥有对象标示符值,并且可能在数据库中有一个对应的行。Hibernate保证在同一个Session实例中缓存,数据库中的每条记录总对应唯一的一个持久化实例。

特点:

持久化对象总是被一个Session实例关联。持久化实例和数据库中的相关记录对应。Session在清理缓存是,会根据持久化实例的属性数据变化,同时更行数据库。

3)、托管状态

       已经被持久化过,但已经不处于Session的缓存中。实例曾经与某个Session上下文发生过关联,不过那个上下文已经关闭。它拥有对象表示符值,并且在数据库中可能存在一个对应的行。

特点:不在位于Session的缓存中,即它不在和Session相关联,但他拥有标示符值。

posted @ 2011-12-07 16:10  Springside4  阅读(125)  评论(0编辑  收藏  举报