- 浏览: 821884 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (488)
- struts1 (4)
- spring (13)
- extjs (36)
- mysql (3)
- sqlserver (2)
- oracle (37)
- 杂谈 (11)
- 面试相关 (35)
- Java基础知识总结 (5)
- Java重要知识点 线程和io流知识点 (6)
- 服务器相关 (1)
- 生活 (1)
- jsp (7)
- servlet (2)
- junit (3)
- struts2 (9)
- 开发必备 (4)
- 使用开发工具总结的知识 (4)
- ibatis (12)
- ajax (2)
- dwr (2)
- jquery (1)
- 设计模式 (4)
- Lucene的学习 (5)
- 经验总结 (19)
- mysql全文搜索相关 (7)
- hibernate (33)
- Sphinx (1)
- log4j的总结 (1)
- 敏捷开发 (9)
- 持续集成 (15)
- UML使用总结 (1)
- Scrum (1)
- OO(面向对象编程) (1)
- struts1和struts2总结 (1)
- 数据库加密 (1)
- 多线程和Socket编程 (6)
- PowerDesigner (2)
- 权限相关 (1)
- ant应用总结 (4)
- 面试必知知识点总结 (6)
- io流与nio流总结 面试相关 (1)
- 敏捷管理工具的使用 (7)
- hsqldb相关 (1)
- svn源码相关 (2)
- debug调试技巧总结 (1)
- hibernate和ibatis对比相关 (6)
- eclipse mylyn 插件的使用总结 (2)
- fisheye使用总结 (2)
- java泛型总结 (1)
- ssh整合总结 (10)
- SpringSide的学习总结 (1)
- JPA学习总结 (2)
- RoR 总结 (2)
- 模型驱动 总结 (1)
- Oracle SQL优化技巧 (4)
- 数据库相关资料 (1)
- oracle练习相关 (4)
- PowerDesigner 使用总结 (2)
- Struts实现国际化相关 (2)
- 权限框架 Spring Security (1)
- freemarker使用总结 (1)
- jsp servlet总结相关 (3)
- Java NIO总结 (1)
- 自己学习必须 (3)
- 蝴蝶容器相关 (2)
- eclipse插件的使用 (1)
- myeclipse的使用 (1)
- flex相关 (1)
- javaeye重生后总结的知识点 (2)
- 公司学习总结 (3)
- JAXB 相关 (1)
- ECSide (1)
- EdoJs 企业ajax框架 (1)
- RSA加密算法 (1)
- jbpm相关 (1)
- JMF原理 (1)
- MyEclipse使用总结 (1)
- Funsion Charts 相关总结 (3)
- 常用知识2011 (2)
- Flex与Java整合 (1)
- IBM WebSphere相关 (1)
- jQuery使用技巧 (2)
- 2011年面试相关知识点总结 (2)
- sqlserver开发相关 (8)
- eclipse 打jar相关 (2)
- Oracle/Mysql/SqlServer比较 (1)
- WebService Axis1.4开发相关 (4)
- 进制数的转换 总结 (1)
- WebService Axis2.0开发相关 (0)
- iteye Struts2 Spring Hibernate整合相关 (3)
- iteye osgi资料相关总结 (1)
- iteye ifos相关相关 (1)
- iteye 国际化相关 (1)
- iteye Hibernate缓存机制 (4)
- iteye Struts2 总结 (1)
- iteye Struts标签总结 (0)
- iteye web配置文件大全 (6)
- iteye Efs 框架总结 (1)
- iteye sql优化 (2)
- iteye 大数据量高并发的数据库优化 (1)
- iteye 开发相关 (1)
- iteye s1sh 和 s2sh整合中的问题以及解决 (1)
- iteye s1sh整合实例 (1)
- iteye s2sh整合实例 (1)
- iteye 面试相关 基础篇 (1)
- iteye Android相关 (1)
- iteye 面试相关 Web篇 (1)
- iteye Sql Server相关 (0)
- iteye struts1与struts2比较 (1)
- iteye jquery 和Struts2 (0)
- iteye struts2与其他插件整合 (0)
- iteye jquery 开发相关 (1)
- iteye eclipse结合spket(Ext,Jquery)开发相关 (0)
- iteye myeclipse 使用技巧相关 (0)
- iteye Memcached 缓存系统相关 (0)
- iteye 常用软件相关 (0)
- iteye 最新技术预览 AjaxSwing (0)
- iteye struts上传下载相关 (0)
- iteye 新技术相关 (0)
- test (0)
- iteye 开发Java游戏相关 (0)
- iteye Java反编译 (0)
- iteye XML解析相关 (0)
- iteye 压缩ZIP相关 (0)
- iteye 面试相关 (0)
- iteye Android开发相关 (4)
- csdn (0)
- e-inoc (0)
- iteye http错误码对应说明 (0)
- iteye 面试扩展知识点 (0)
- iteye oracle面试相关 存储过程,触发器,游标等 (0)
- iteye english study (0)
- iteye starflow工作流引擎 (0)
- iteye IBM WebSphere Application Server Toolkit使用相关 (0)
- iteye spring3 (0)
- iteye mybatis (0)
- iteye js技巧总结 (0)
- iteye SEO优化相关 (2)
- iteye QUI网页界面集成框架 (1)
- iteye AjaxAnywhere (1)
- iteye Nutz相关 (1)
- iteye ibatis技巧 (0)
- iteye dwz (0)
- 128个ajax/javascript框架 (0)
- iteye 2012 Java Swing教程 (1)
- iteye 码头集装箱相关 (1)
- iteye swing (2)
- 兼职工作 (0)
- 2012 新总结的面试相关知识点 常用知识点 (1)
- 淘宝网店相关 (0)
- oracle 常用函数 2012新总结 (1)
- 我的时尚潮流屋 (0)
- 2012 年 面试新总结知识 (1)
- 技巧 (1)
- 2013总结 (1)
- 2015工作相关 (3)
- springmvc (5)
- EasyPR-Java (1)
- java (2)
- editplus 4.0 注册码 (1)
- android (1)
- oracle连接数据库相关 (1)
- 编程资料总结 (2)
- 20160808 (1)
- visio 2013 (1)
最新评论
-
drew926:
泛型的类型参数可以有多个?这是java哪个版本支持的?
java泛型总结 -
listenan:
赞!非常感谢。
Scrum总结 -
cwscwj:
写的很深刻,谢谢,看了一遍,过段时间打算再看一遍。
Scrum总结 -
hwedwin:
w
Struts 2中的OGNL\EL的使用总结 -
lanni2460:
不错 很好 支持……
sqlserver三个驱动包下载
在Hibernate中持久化类实例的3种状态。Java对象有其自己的生命中期,从通过 new语句创建开始,到不再被任何变量引用结束,结束后它占用的内存将被JVM垃圾回收机制收回。在Hibernate中持久化类实例可以划分为3种状态,分别是临时状态、持久化状态和游离状态。
(1)临时状态
临时状态(transient)是指持久化类实例从通过new语句创建到被持久化之前,处于临时状态的持久化类实例简称“临时对象”。
临时对象具备如下特征:
不存在于Session实例的缓存中,不与任何Session实例相关联
在数据库中没有与之相对应的记录
促使持久化类实例进入临时状态的情况如下:
通过new语句创建新的持久化类实例
通过执行delete()方法删除持久化类实例
(2)持久化状态
持久化状态(persistent)是指持久化类实例从被持久化到Session实例被销毁,处于持久化状态的持久化类实例简称“持久化对象”。
持久化对象具备如下特征:
存在于Session实例的缓存中,与Session实例相关联
在数据库中有与之相对应的记录
Session实例在清理缓存时会根据持久化类实例属性的变化更新数据库
促使持久化类实例进入持久化状态的情况如下:
通过执行save()或saveOrUpdate()方法使临时对象转变为持久化对象
通过执行update()或saveOrUpdate()方法使游离对象转变为持久化对象
通过执行load()或get()方法返回的持久化类实例都是持久化类对象
通过执行find()方法返回的List集合中的持久化类实例都是持久化对象
在允许级联保存的情况下,Session实例在清理缓存时会把与持久化对象关联的临时对象转变为持久化对象
(3)游离状态
游离状态(detached)是指持久化类实例从关联它的Session实例被销毁到该实例消失,处于游离状态的持久化类实例简称“游离对象”。
游离对象具备如下特征:
不存在于Session实例的缓存中,不与任何Session实例相关联
在数据库中有与之相对应的记录(前提条件是没有其它Session实例删除该记录)
促使持久化类实例进入游离状态的情况如下:
通过执行evict()方法,可以从Session实例的缓存中删除一个持久化类实例,使之转变为游离对象
通过执行clear()方法,可以清空Session实例的缓存,使缓存中的所有持久化类实例转变为游离对象
通过执行close()方法,可以销毁Session实例,从而清空Session实例的缓存
(4)3种状态之间的转换过程
为了使读者更好的理解图1所示的持久化类实例的3种状态之间的转换过程,下面以列表的形式给出持久化类实例在程序中各状态之间的转换过程。
(1)临时状态
临时状态(transient)是指持久化类实例从通过new语句创建到被持久化之前,处于临时状态的持久化类实例简称“临时对象”。
临时对象具备如下特征:
不存在于Session实例的缓存中,不与任何Session实例相关联
在数据库中没有与之相对应的记录
促使持久化类实例进入临时状态的情况如下:
通过new语句创建新的持久化类实例
通过执行delete()方法删除持久化类实例
(2)持久化状态
持久化状态(persistent)是指持久化类实例从被持久化到Session实例被销毁,处于持久化状态的持久化类实例简称“持久化对象”。
持久化对象具备如下特征:
存在于Session实例的缓存中,与Session实例相关联
在数据库中有与之相对应的记录
Session实例在清理缓存时会根据持久化类实例属性的变化更新数据库
促使持久化类实例进入持久化状态的情况如下:
通过执行save()或saveOrUpdate()方法使临时对象转变为持久化对象
通过执行update()或saveOrUpdate()方法使游离对象转变为持久化对象
通过执行load()或get()方法返回的持久化类实例都是持久化类对象
通过执行find()方法返回的List集合中的持久化类实例都是持久化对象
在允许级联保存的情况下,Session实例在清理缓存时会把与持久化对象关联的临时对象转变为持久化对象
(3)游离状态
游离状态(detached)是指持久化类实例从关联它的Session实例被销毁到该实例消失,处于游离状态的持久化类实例简称“游离对象”。
游离对象具备如下特征:
不存在于Session实例的缓存中,不与任何Session实例相关联
在数据库中有与之相对应的记录(前提条件是没有其它Session实例删除该记录)
促使持久化类实例进入游离状态的情况如下:
通过执行evict()方法,可以从Session实例的缓存中删除一个持久化类实例,使之转变为游离对象
通过执行clear()方法,可以清空Session实例的缓存,使缓存中的所有持久化类实例转变为游离对象
通过执行close()方法,可以销毁Session实例,从而清空Session实例的缓存
(4)3种状态之间的转换过程
为了使读者更好的理解图1所示的持久化类实例的3种状态之间的转换过程,下面以列表的形式给出持久化类实例在程序中各状态之间的转换过程。
发表评论
-
Hibernate工作原理
2010-10-03 10:34 4093Hibernate工作原理 图 ... -
Hibernate基础
2010-09-19 09:43 1132Hibernate基础 Part 1 1. ... -
hibernate一对一映射外键关联
2010-09-17 11:24 1308hibernate一对一映射外键关联 一对一外键关联 外键关 ... -
在Hibernate中使用JDBC事务
2010-09-16 14:21 1281在Hibernate中使用JDBC事务 Hibernate ... -
hibernate事务,一级缓存,二级缓存
2010-09-16 12:34 1155hibernate主要从以下几个 ... -
Hibernate的五个核心接口介绍
2010-09-16 12:14 1002所有的Hibernate应用中都会访问Hibernate的 ... -
Hibernate缓存配置/批量处理
2010-09-16 12:01 1186Hibernate缓存配置/批量处 ... -
hibernate知识点总结
2010-09-16 08:48 1282hibernate知识点总结 1.hibernate的优缺点 ... -
项目缓存方案总结
2010-09-16 08:42 840项目缓存方案总结 一 ... -
hibernate缓存总结
2010-09-16 08:30 964hibernate缓存总结: 缓存是位于应用程序与 ... -
Hibernate中一级缓存、二级缓存及查询缓存的技术性总结
2010-09-15 22:54 866一、 一级缓存 1. 一级缓存只缓存整个对象 ... -
Hiberante3 一级缓存总结
2010-09-15 22:53 438Hiberante3 一级缓存总结 1. ... -
Hibernate中的缓存总结
2010-09-15 22:51 982Hibernate中的缓存总结 Hibernate ... -
hibernate缓存相关
2010-09-15 22:49 806hibernate缓存相关 hibernat ... -
hibernate技术面试相关
2010-09-13 20:51 1146Hibernate 中数据表映射关 ... -
hibernate 相关面试题
2010-09-13 20:50 10071.在数据库中条件查询 ... -
hibernate get()与load()的区别
2010-09-13 15:36 817hibernate get()与load()的区别 s ... -
Hibernate持久化对象的生命周期
2010-09-13 11:06 1052持久化对象的状态: ... -
全面介绍Hibernate持久化类
2010-09-13 10:55 1200Hibernate持久化类使用的是JavaBean的风格,为要 ... -
hibernate参考文档下载
2010-09-13 10:41 1170hibernate参考文档下载 这是一个非常有用改的hibe ...
相关推荐
Hibernate 操作持久化对象是Java开发中用于简化数据库交互的重要工具。它是一个开源的Java持久化框架,由Gavin King创建,并逐渐发展成为Java世界中主流的持久化解决方案。Hibernate的核心在于提供对象-关系映射(ORM...
通过持久化,我们可以将应用程序中的对象状态保存到数据库中,以便在后续的使用中能恢复这些状态,而无需每次都需要重新从数据库查询。这提高了效率,减少了对数据库的直接操作,有助于降低系统复杂性。 ORM(对象...
首先,我们来看一下Hibernate中持久化对象的三种基本状态: 1. **瞬时对象(Transient Objects)**: - 当使用`new`关键字创建一个新的Java对象时,该对象是瞬时的。这意味着它们与数据库没有任何关联。如果对象...
本篇文章将深入探讨Hibernate的数据持久化机制,包括其基本概念、配置、实体类、映射文件以及查询操作。 1. **基本概念** - **对象关系映射(ORM)**: ORM是将关系数据库的数据模型与面向对象编程中的对象模型进行...
本文将深入探讨Hibernate中的持久化对象生命周期,包括瞬时对象、持久化对象和游离对象的状态转换及其特性。 1. 瞬时对象(Transient Objects) 瞬时对象是指通过`new`操作符创建但尚未与数据库记录关联的Java对象...
对象持久化是将应用程序中的对象状态存储到持久化介质(如数据库)的过程,使得即使程序关闭,对象的状态也能被保留下来。在Hibernate中,对象的生命周期包括瞬时态、托管态、持久态和脱管态。通过Hibernate,我们...
1. 创建SessionFactory:通过Configuration类加载hibernate.cfg.xml配置文件,然后调用configure()方法,最后buildSessionFactory()生成SessionFactory实例。 2. SessionFactory是线程不安全的,通常在应用启动时...
**hibernate持久化技术详解** Hibernate是一款强大的Java对象关系映射(ORM)框架,它为开发者提供了在Java应用中操作数据库的强大工具。通过Hibernate,开发者可以将数据库操作转化为对Java对象的操作,大大降低了...
2. **对象状态**:Hibernate管理的对象具有三种状态:瞬时态(Transient)、持久态(Persistent)和脱管态(Detached),它们的状态转换由Hibernate的Session负责。 3. **JMX集成**:允许通过JMX(Java Management ...
《精通Hibernate:Java对象持久化技术详解》这本书深入剖析了Hibernate这一流行的Java对象关系映射(ORM)框架,旨在帮助开发者全面理解并熟练掌握Hibernate的使用。Hibernate是Java开发中的重要工具,它简化了...
5. **持久化操作** 使用Hibernate进行CRUD操作非常直观。例如,通过Session的save()方法可以保存新对象到数据库,update()方法更新已存在的对象,delete()方法删除对象,而find()或get()方法用于根据主键检索对象。...
处于持久化状态的Java对象位于一个Session实例的缓存中,Session能根据这个对象的属性变化来同步更新数据库。 8.1 Java对象在JVM中的 生命周期 179 8.2 理解Session的缓存 181 8.2.1 Session的缓存的作用 182 ...
持久化类是Java对象,它对应数据库中的表。例如,我们有一个User类,它可能如下所示: ```java @Entity @Table(name = "users") public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) ...
了解Hibernate对象的这三种状态,对于编写高效、稳定的持久化代码至关重要。正确管理对象状态可以帮助优化数据库交互,减少不必要的查询,提高系统的整体性能。在实际开发中,开发者需要根据业务需求和性能考虑,...
Hibernate是一款强大的Java库,用于简化数据库操作,尤其是数据持久化。在Java开发中,它作为对象关系映射(ORM)工具,将复杂的SQL操作转化为对Java对象的操作,从而减轻了开发人员的工作负担。本篇文章主要关注...
处于持久化状态的Java对象位于一个Session实例的缓存中,Session能根据这个对象的属性变化来同步更新数据库。 8.1 Java对象在JVM中的 生命周期 179 8.2 理解Session的缓存 181 8.2.1 Session的缓存的作用 182 ...
2. **配置文件**:在Hibernate 3中,主要的配置文件是`hibernate.cfg.xml`,它包含了数据库连接信息、持久化类信息等。 3. **实体类(Entity)**:在Hibernate中,Java类被视为实体类,它们被映射到数据库表。实体...