hibernate实体对象的三种状态:自由状态,持久状态,游离状态.

Posted 我是修电脑的

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hibernate实体对象的三种状态:自由状态,持久状态,游离状态.相关的知识,希望对你有一定的参考价值。

 

自由态与游离态的区别:

当一个持久化对象,脱离开Hibernate的缓存管理后,它就处于游离状态,游离对象和自由对象的最大区别在于,游离对象在数据库中可能还存在一条与它 对应的记录,只是现在这个游离对象脱离了Hibernate的缓存管理,而自由对象不会在数据库中出现与它对应的数据记录

 

 

(1)自由状态(Transient)

特性:

①不在Session的缓存中,不与任何的Session实例相关联。

②在数据库中没有与之相对应的记录。

(2)持久状态(Persistent)

特性

①在Session的缓存中,与Session实例相关联。

②在数据库中存在与之相对应的记录。

( 3 ) 游离状态(Detached)/脱管状态

特性

①不在Session的缓存中,不与任何的Session实例相关联。

②在数据库中存在与之相对应的记录。(前提条件是没有其他Session实例删除该条记录)。

以上是关于hibernate实体对象的三种状态:自由状态,持久状态,游离状态.的主要内容,如果未能解决你的问题,请参考以下文章

hibernate对象的三种状态是啥?

Hibernate三种状态,缓存,以及update更新问题

Hibernate三种装套,缓存,以及update更新问题

JavaWeb_(Hibernate框架)Hibernate中对象的三种状态

Hibernate实体的三种状态是什么?各有什么特点?

实体类的状态与Hibernate缓存