Linux安全网 - Linux操作系统_Linux 命令_Linux教程_Linux黑客

会员投稿 投稿指南 本期推荐:
搜索:
您的位置: Linux安全网 > Linux编程 > » 正文

Hibernate对象状态

来源: sanjy523892105 分享至:

Hibernate中对象的三种状态关系及转换方法

  在Hibernate中总共有3中对象的状态,分别为瞬时态、持久态、脱管态(游离态)。下面分别介绍下对象在何时处于什么样的状态

瞬时态:

在对象通过new关键在实例化后,所属的状态就是瞬时态。

持久态:

当对象通过session插入或更新到DB的时候,而session并没有关闭时候的状态即为持久态。

脱管态:

当session关闭后,而DB中又有该对象对应的一条数据,及称这种状态为脱管态。

处于不同状态下的特点

瞬时态的特点为并没有被hibernate所监控而且数据库中还没有与该对应的数据。

持久态的特点为被session所监控,也就是说当该对象的某一条属性或者多条属性被更改的时候,在DB中对应的数据也会随之做出更新操作。

脱管态的特点就是无论该对象如何更新,在数据库中对应的数据都不会因该对象的变化而产生更新。

这三种状态之间是可以通过方法进行转换的。

瞬时态转换到持久态     save()    saveOrUpdate()

 

持久态转换到瞬时态     delete()

 

持久态转换到脱管态     evict()    close()  clear()

 

脱管态转换到持久态     update()   saveOrUpdate()    lock()



Tags:
分享至:
最新图文资讯
1 2 3 4 5 6
验证码:点击我更换图片 理智评论文明上网,拒绝恶意谩骂 用户名:
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 发展历史