您的位置:首页 > 其它

hibernate四种状态

2015-05-24 01:26 260 查看
1.瞬时状态

也就是实体对象处于new的状态

它是在session缓存区中不存在的,也不会跟session有关联

更不会跟数据库有关联

刚刚用new语句创建,还没有被持久化,不处于Session的缓存中。处于临时状态的Java对象被称为临时对象。

2.持久状态

持久状态是最重要的。、

当你用save(),load(),get(),update(),

list,iterater,scroll,saveOrUpdate方法时,

都会编程持久状态,会把对象放在session缓存区中

当session进行缓存区清理的时候,也就是commit的时候

会把数据与数据库进行同步。

已经被持久化,加入到Session的缓存中。处于持久化状态的Java对象被称为持久化对象。

3.移除状态

用remove(),delete就会从持久状态变成移除状态

移除状态的对象还是存在缓存区中的,只是数据库中不在有

此对象,不在和它关联

一旦session关闭,这个对象也就没有意义了

OID不为null。从一个Session实例的缓存中删除。被删除对象和数据库中的相关记录对应。Session已经计划将其从数据库中删除。Session在清理缓存时,会执行SQL
delete语句,删除数据库中的相应记录。一般情况下,应用程序不应该再使用被删除的对象。

4.游离状态

当session关闭后,存在session缓存区中的对象就变成了游离状态

。他们还是可以访问各自的数据,但是他们不在和数据库关联起来,

他们只是曾经与session有过一段绯闻,而最后被抛弃的东西,

而他们拥有对象标识符

已经被持久化,但不再处于Session的缓存中。处于游离状态的Java对象被称为游离对象。



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: