Hibernate定义并支持下列对象状态(state):
-
瞬时(Transient)
- 由new
操作符创建,且尚未与Hibernate Session
关联的对象被认定为瞬时(Transient)的。瞬时(Transient)对象不会被持久化到数据库中,也不会被赋予持久化标识(identifier)。
如果瞬时(Transient)对象在程序中没有被引用,它会被垃圾回收器(garbage collector)销毁。
使用Hibernate Session
可以将其变为持久(Persistent)状态。(Hibernate会自动执行必要的SQL语句)---还没有被扔到数据库,小孤儿一个!
-
持久(Persistent)
- 持久(Persistent)的实例在数据库中有对应的记录,并拥有一个持久化标识(identifier)。
持久(Persistent)的实例可能是刚被保存的,或刚被加载的,无论哪一种,按定义,它存在于相关联的Session
作用范围内。
Hibernate会检测到处于持久(Persistent)状态的对象的任何改动,在当前操作单元(unit of work)执行完毕时将对象数据(state)与数据库同步(synchronize)。
开发者不需要手动执行UPDATE
。将对象从持久(Persistent)状态变成瞬时(Transient)状态同样也不需要手动执行DELETE
语句。---被扔到数据库里面了,有了持久的身份了,有家了。。
-
脱管(Detached)
- 与持久(Persistent)对象关联的Session
被关闭后,对象就变为脱管(Detached)的。
对脱管(Detached)对象的引用依然有效,对象可继续被修改。脱管(Detached)对象如果重新关联到某个新的Session
上,
会再次转变为持久(Persistent)的(在Detached其间的改动将被持久化到数据库)。
这个功能使得一种编程模型,即中间会给用户思考时间(user think-time)的长时间运行的操作单元(unit of work)的编程模型成为可能。
我们称之为应用程序事务
,即从用户观点看是一个操作单元(unit of work)。---有家了之后,不用为是否持久发愁了,所以就自由了,没有人管,就变成了脱管的状态。。
分享到:
相关推荐
hibernate对象三种状态,有详细的代码介绍三种状态,易理解,有具体代码实现,有详细备注,让你轻松理解三种状态的存在形式
hibernate中session对象的状态详解
一个关于关于Hibernate对象的状态的描述。
NULL 博文链接:https://unddone8373229.iteye.com/blog/1104797
Hibernate对象状态以及各种保存方法的区别
Hibernate中po对象的三种状态分析[借鉴].pdf
站在持久化的角度。Hibernate把对象分为4中状态。 临时状态。 持久化状态。游离状态。删除状态。
Hibernate持久化对象的生命周期 持久化对象的状态: 瞬时对象(Transient Objects)持久化对象(Persist Objects)、离线对象(Detached ...在Hibernate应用中Java对象的状态 Session的保存、更新、删除、查询方法:
hibernate对象三状态及OneToOne&OneToMany&ManyToMany讲解,代码示例,数据库示例!非常全面
本人在厦门邦初培训时候 使用的快速入门精简文档 ...对象的临时状态、持久状态和游离状态 用session的update()方法使游离对象转变为持久化对象。 延迟装载 迫切左外链接 HQL检索方式 QBC检索方式 本地SQL检索方式
hibernate的各种保存方式的区别以及hibernate对象的三种状态[定义].pdf
Hibernate对象的状态,本文系统地分析了其中的各种状态
05_传智播客hibernate教程_实体对象的三种状态与saveOrUpdate方法
8.3 Java对象在Hibernate持久化层的状态 8.3.1 临时对象的特征 8.3.2 持久化对象的特征 8.3.3 被删除对象的特征 8.3.4 游离对象的特征 8.4 Session接口的详细用法 8.4.1 Session的save()和persist()...
Hibernate对象的三种状态、状态管理
hibernate相关配置 对象映射关系 3种状态格式
hibernate概述,hibernate入门Demo,hibernate配置文件详解(全局配置,实体类映射配置),配置实体规则,核心API详解(Configuration,sessionFactory,session,Transaction),hibernate中的对象状态以及刷新能缓存机制 ...
Java面试题57.hibernate对象状态及其转换.mp4
经典hibernate教程,从入门到精通经典hibernate教程,从入门到精通经典hibernate教程,从入门到精通经典hibernate教程,从入门到精通经典hibernate教程,从入门到精通经典hibernate教程,从入门到精通经典hibernate教程,从...
本章主要介绍关系数据库中的代理主键(不具有业务含义),接着介绍Hibernate提供的几种内置标识符生成器的用法及适用范围。 6.1 关系数据库按主键区分不同的记录 123 6.1.1 把主键定义为自动增长标识符类型 123 ...