Hibernate的三种状态理解及转换解析

首先先说下hibernate中的三个状态,只有完全理解了这三个状态,才能在项目中充分利用hibernate这个工具来完成项目进度。

1、瞬时态,也叫临时态等,不受hibernate session管制的状态,即某个实例跟session没有任何关联,比如new产生的实例。

2、持久态,session中持久化了的实例,相当于数据库中的记录,修改实例的任何属性都会导致数据库记录的变更。

3、托管态,也叫游离态等,持久化对象脱离了Session的对象。如Session缓存被清空的对象。特点:已经持久化,但不在Session缓存中。处于此状态的对象叫游离对象。

更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/Programming/Java/

下边用张图表示三个状态之间的转换关系:

顺便补充下持久态跟托管态的区别:

持久态:修改实例属性会引起数据库对应记录的变更

托管态:修改实例属性不会引起数据库对应记录的变更

时间: 2025-01-11 12:26:44

Hibernate的三种状态理解及转换解析的相关文章

【SSH系列】-- Hibernate持久化对象的三种状态

       在上一篇博文中,小编主要简单的介绍了[SSH系列]--hibernate基本原理&&入门demo,今天小编来继续介绍hibernate的相关知识, 大家知道,Java对象的生命周期,是从通过new语句创建开始,到不再被任何引用变量引用结束,结束后它占用的内存将被JVM垃圾回收机制收回.在hibernate中持久化类的对象可以划分为三种状态,分别是瞬态,持久态,脱管态.       一.瞬态(Transient),也叫临时态.处于这种状态的对象具备的特征如下:       a.

【HIBERNATE框架开发之五】HIBERNATE对象的三种状态&&SESSION的常用方法

本站文章均为 李华明Himi 原创,转载务必在明显处注明:  转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/hibernate/814.html  1. Hibernate对象的三种状态:(图解如下:)   如图所示,Hibernate对象有三种状态,1.Transient  2.Persistent 3.Detached; 三种状态的区别如下: 1. 当对象处于Transient时,只在内存中有一个对象,没ID,而且在缓存和数据库中没有: 2.

hibernate映射对象三种状态的分析

一,首先hibernate中对象的状态有 三种:瞬态.游离态和持久态,三种状态转化的方法都是通过session来调用,瞬态到持久态的方法有save().saveOrUpdate(). get().load():持久态到瞬态的方法有delete():游离态到持久态的方法有update().saveOrUpdate(). lock():持久态到游离态的方法有:session.close().session.evict().session.clear(). 二,Hibernate的状态 hiberna

【hibernate框架】对象的三种状态Transient-Persistent-Detached

三种状态分别是 Transient(游离状态),Persistent(持久化状态),Detached(脱管状态). Teacher t=new Teacher(); t.setName("t12");//游离状态 t.setTitle("中级");//游离状态 t.setBrithday(new Date());//游离状态 t.setZhicheng(ZhiCheng.A);//游离状态 SessionFactory sessionFactory=new Conf

操作系统-关于进程间的三种状态的转移 能不能结合具体的程序实例说明一下

问题描述 关于进程间的三种状态的转移 能不能结合具体的程序实例说明一下 running stateready statewaiting state这三种不同的状态之间的相互转换,能不能结合具体的程序实例说明一下 比如编译器等等 解决方案 运行.阻塞.就绪 是进程的3种基本状态,有些划分成更细的则分成4个状态(运行.就绪.睡眠.阻塞)就以楼主分的这3种基本状态来解释:运行态:进程正在执行时的状态阻塞态:进程由于需要进行的IO操作,不得不等待其他进程IO或者某个IO事件完成,此时进入阻塞等待状态就绪

一个io端口如何控控制电机的三种状态(正向转动,停止,反向转动)

问题描述 一个io端口如何控控制电机的三种状态(正向转动,停止,反向转动) 2C 一个io端口如何控控制电机的三种状态(正向转动,停止,反向转动)? 解决方案 需要加测速装置吧,I/O口输出PWM信号控制电机转动的速度,用PID算法进行实时控制.

checkbox三种状态

JS操作checkbox http://honeyao.iteye.com/blog/238424 翻页后保持checkbox选中状态的实现方法:在界面中,使用纯js完成.把选中的checkbox中的id,其中包括模块id,操作id,拼接成一个字符串,然后把字符串传递提交 Java代码   <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1

style-.net framework 4.0中WPF的checkbox控件的三种状态样式变更

问题描述 .net framework 4.0中WPF的checkbox控件的三种状态样式变更 当前使用.Net Framework 4.0 WPF开发一个界面,需要使用CheckBox的控件的isThreeState= true ,设置为三种状态,分别是未点击时白框,单击时显示对勾,再单击时显示中间一个小蓝框.分别对应checked值为false, true和 null. 我需要的是,如何装饰checked值为null时,其显示效果由蓝色框更换为一个红色叉的效果. 谢谢.

数据库的三种状态RESTRICT、QUIESCE和SUSPEND

数据库的三种状态RESTRICT.QUIESCE和SUSPEND 数据库的这三种状态有相似之处,这里简单总结一下. 这一篇介绍RESTRICT状态.     在Oracle中,有时候要执行一些管理性的操作,而这些操作运行的时候不能有其他用户同时访问数据库.对于这种情况可以设置系统进入RESTRICTED SESSION状态禁止普通用户登陆数据库. 数据库可以在启动的时候以RESTRICT方式来启动数据库: SQL> conn / as sysdba 已连接. SQL> shutdown imm