`
ningbingjian
  • 浏览: 9479 次
社区版块
存档分类
最新评论

02_hibernate3.x三种状态的区别

 
阅读更多
  

  一_三种状态的解释

     Hibernate的对象有3种状态,分别为:瞬时态(Transient)、 持久态(Persistent)、脱管态(Detached)。处于持久态的对象也称为PO(Persistence Object),瞬时对象和脱管对象也称为VO(Value Object)。
  1_ 瞬时态
        由new命令开辟内存空间的java对象



   //瞬时对象
User newuser = new User();



如果没有变量对该对象进行引用,它将被java虚拟机回收。

         瞬时对象在内存孤立存在,它是携带信息的载体,不和数据库的数据有任何关联关系,在Hibernate中,可通过session的save()或saveOrUpdate()方法将瞬时对象与数据库相关联,并将数据对应的插入数据库中,此时该瞬时对象转变成持久化对象。
 

 

//以下两种方法都能使的newuser变为持久化对象
  session.save(newuser);
  session.saveorupdate(newuser);


  [size=medium] 2_持久态

         处于该状态的对象在数据库中具有对应的记录,并拥有一个持久化标识。如果是用hibernate的delete()方法,对应的持久对象就变成瞬时对象,因数据库中的对应数据已被删除,该对象不再与数据库的记录关联。

       当一个session执行close()或clear()、evict()之后,持久对象变成脱管对象,此时持久对象会变成脱管对象,此时该对象虽然具有数据库识别值,但它已不在HIbernate持久层的管理之下。


    持久对象具有如下特点:

        1. 和session实例关联;

       2. 在数据库中有与之关联的记录。

  3_脱管态
        当与某持久对象关联的session被关闭后,该持久对象转变为脱管对象。当脱管对象被重新关联到session上时,并再次转变成持久对象。

       脱管对象拥有数据库的识别值,可通过update()、saveOrUpdate()等方法,转变成持久对象。

       脱管对象具有如下特点:

       1. 本质上与瞬时对象相同,在没有任何变量引用它时,JVM会在适当的时候将它回收;

        2.   比瞬时对象多了一个数据库记录标识值。
[/size]









分享到:
评论

相关推荐

    hibernate4.x jar

    3. Criteria 查询:除了传统的HQL(Hibernate查询语言)之外,Hibernate 4.x 还提供了Criteria API,允许动态构建查询,更直观地表达复杂的查询逻辑。 4. 第二级缓存:Hibernate 支持第二级缓存,可以提高数据读取...

    Hibernate 3.x 参考手册

    ### Hibernate 3.x 参考手册关键知识点解析 #### 一、快速入门与Tomcat集成 **1.1 快速开始使用 Hibernate** - **环境准备:** - 使用 Hibernate 前需确保 Java 环境已安装配置。 - 下载 Hibernate 3.x 版本库...

    Hibernate_v5.2.13.zip

    4. **映射文件(Mapping File)**:`hbm.xml`文件用于定义Java类与数据库表之间的映射关系,而在Hibernate 5.x中,更常见的是使用注解方式来进行映射。 5. **Session(Session)**:这是Hibernate的核心接口,用于在...

    Struts1.x Spring2.x Hibernate3.x DWR2.x整合工具文档v1.00

    ### Struts1.x、Spring2.x、Hibernate3.x 和 DWR2.x 整合知识点解析 #### 一、Struts1.x与Spring2.x的整合 **1.1 在web.xml中进行Struts和Spring的配置** 为了实现Struts1.x与Spring2.x的无缝集成,首先需要在...

    hibernate3.x参考文档

    《Hibernate3.x参考文档》是针对Java开发人员的一份重要资料,它详尽地阐述了Hibernate3.x框架的各项功能和使用方法。Hibernate是一款强大的对象关系映射(ORM)框架,它简化了Java应用程序与数据库之间的交互,使得...

    reference manual for hibernate 3.x.rar

    《Hibernate 3.x 参考手册》是Java开发者不可或缺的一份资源,它详细阐述了Hibernate这一流行的ORM(对象关系映射)框架在3.x版本中的使用方法和核心概念。Hibernate作为一个开源的Java库,旨在简化数据库操作,通过...

    Hibernate 3.x过滤器的高级应用

    在Java的持久化框架Hibernate 3.x中,过滤器(Filter)是一种强大的工具,它允许开发者在不修改原有代码的情况下,动态地限制查询结果。过滤器的概念与数据库的视图类似,但提供了一种更抽象、更灵活的解决方案,...

    我见过的最好的最详细的hibernate3.6.X学习资料(汤阳光)

    【hibernate3.6.X】是一个流行的Java持久化框架,它实现了ORM(对象关系映射)技术,使得开发者可以通过面向对象的方式处理数据库操作,从而降低了数据库编程的复杂性。在传统的三层架构中,hibernate常被用作数据...

    hibernate3.6.10.Final

    Hibernate 3.x系列引入了许多新特性,包括对JPA(Java Persistence API)的支持,增强了查询语言HQL(Hibernate Query Language)以及增加了 Criteria API,使得数据操作更加灵活和强大。 标签"hibernate jar 3.6...

    Hibernate_3.2.0_Reference_zh_CN.zip

    12. **注解配置**:从Hibernate 3.x开始,除了XML配置外,还可以使用Java注解进行对象-关系映射,简化配置过程。 通过阅读"Hibernate_3.2.0_Reference_zh_CN.chm"这个中文参考手册,开发者可以深入了解以上这些概念...

    Struts1.x在线购物车系统,Hibernate,Mysql

    Struts1.x、Hibernate 和 MySQL 是构建Web应用程序的三个关键组件,它们在电子商务系统中扮演着重要的角色。这里我们将深入探讨这些技术以及如何在在线购物车系统中整合它们。 **Struts1.x** 是一个开源的Java框架...

    Hibernate_3[1].2.0_Reference_zh_CN

    10. **JPA支持**:虽然Hibernate最初是独立于Java Persistence API(JPA)的,但在3.x版本中开始支持JPA标准,使得开发者可以选择使用JPA规范的API来操作持久化对象。 《Hibernate 3.1.2.0 Reference zh_CN.chm》这...

    hibernate 3.1+tomcat 5.5.x(配置jndi)

    ### hibernate 3.1+tomcat 5.5.x(配置jndi) #### 一、引言 随着Tomcat从5.0版本升级到5.5.x版本,其配置发生了诸多变化,特别是对Tomcat JNDI的配置方式产生了显著的影响。这对希望在Hibernate安装中利用Tomcat ...

    hibernate-release-4.2.8.Final.zip

    3. **实体生命周期管理**:Hibernate 支持实体的生命周期管理,包括瞬态、持久态、托管态和游离态四种状态,提供了丰富的回调方法,便于开发者进行业务逻辑处理。 4. **注解驱动的配置**:此版本鼓励使用注解来代替...

    spring中文API 3.x 2.x版本

    这个压缩包包含了Spring API的中文文档,覆盖了3.x和2.x两个主要版本,包括pdf、html和chm三种格式,方便开发者在不同的场景下查阅。 PDF文档通常便于离线阅读,带有完整的书签结构,使得用户可以快速定位到所需的...

    HibernateC3P0 数据库连接池架包.rar

    HibernateC3P0是Hibernate框架的一个扩展,它集成了C3P0连接池,提供了一种管理数据库连接的有效方式。C3P0是由M-Fabrice Remy创建的,它是一个完全实现了JDBC3规范的数据库连接池实现,具有自动测试连接、自动关闭...

    hibernate帮助文档 3.2、3.6、4.1

    本文将深入探讨Hibernate的三个主要版本:3.2、3.6.10和4.1.7,以及它们的核心特性和改进。 1. Hibernate 3.2: Hibernate 3.2是Hibernate系列的一个稳定版本,它引入了一些关键的增强功能。其中,最显著的是对JPA...

    hibernate-release-4.3.11.Final.zip

    包含的源码文件可以帮助开发者深入理解Hibernate的工作原理,例如Entity Manager、Query接口的实现,以及持久化过程中的对象状态管理等。这对于调试问题、优化性能以及扩展自定义功能非常有帮助。 总结,"hibernate...

    hibernate-4.2.3.required

    - hibernate-jpa-2.x-api.jar:JPA的API库,用于开发符合JPA规范的应用。 - hibernate-commons-annotations.jar:包含常用的Hibernate注解。 - 以及可能的其他依赖库,如slf4j、log4j等日志框架,或连接池如c3p0、...

Global site tag (gtag.js) - Google Analytics