`
jtlyuan
  • 浏览: 66761 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

hibernate中的实体状态

 
阅读更多

hibernate中的实体3种状态:

(1)瞬时:只是new出来时候,也就是说与数据库中的数据没有任何的关联即,该实体从未与任何持久化上下文联系过,没有持久化标识(相当与主键)。  与数据库中的记录没有任何关联,也就是没有与其相关联的数据库记录 与Session没有任何关系,也就是没有通过Session对象的实例对其进行任何持久化的操作。

(2)持久:指该实体对象处于Hibernate框架所管理的状态,也就是说这个实体对象是与Session对象的实例相关的。处于持久态的实体对象的最大特征是对其所作的任何变更操作都将被Hibernate持久化到数据库中。 每个持久态对象都于一个Session对象关联   处于持久态的对象是于数据库中的记录相关联的      Hibernate会根据持久态对象的属性的变化而改变数据库中的相应记录

(3)脱管:处于持久态的实体对象,当他不再与Session对象关联时,session生命周期结束,对象不再于Session关联               游离态实体对象与数据库中的数据没有直接联系,主要表现在对其进行的修改不再影响到数据库中的数据  游离态实体对象在数据库中有相应的数据记录(如果该记录没有被删除)

三者转换如下:

实体---new()---瞬时;

瞬时----session.save(),session.saveOrUpdate()---->持久;

持久----session.delete()---->瞬时;

脱管----session.upate(),session.saveOrUpdate(),session.load().,session.lock(),session.get(),session.find()--->持久;

持久---->session.close(),session.evict(),session.clear()----->脱管;

 

 

可以参考:http://www.iteye.com/topic/859826

 

 


 

分享到:
评论

相关推荐

    Hibernate中的实体状态及转换

    本文将深入探讨Hibernate中的实体状态及其转换,帮助开发者更好地掌握如何有效地使用Hibernate进行数据操作。 首先,我们要了解Hibernate定义的三种实体状态: 1. **临时状态(Transient)**:当我们在程序中通过`...

    Hibernate实体层设计

    《Hibernate实体层设计》 在Java企业级应用开发中,持久化层的处理是一个至关重要的环节,而Hibernate作为一款强大的对象关系映射(ORM)框架,极大地简化了数据库操作。本资料主要探讨的是如何利用Hibernate进行...

    hibernate操纵实体对象

    在这个主题“hibernate操纵实体对象”中,我们将探讨如何使用Hibernate来创建、更新、删除和查询数据库中的实体对象。 首先,`HibernateSessionFactory`是Hibernate的核心组件之一,它负责创建`Session`对象。`...

    hibernate中文参考手册

    在Hibernate中,核心概念包括实体(Entities)、持久化类(Persistent Classes)、会话(Sessions)、事务(Transactions)和查询(Queries)。实体是应用程序中的业务对象,它们对应数据库中的表;持久化类是包含@...

    hibernate中文参考文档pdf

    12. **实体生命周期**:阐述了Hibernate中实体的生命周期状态(瞬时、持久化、脱管和临时),以及状态转换和事件监听。 13. **性能优化**:提供了一些最佳实践和技巧,如批处理、延迟加载、缓存配置等,以提高...

    Hibernate实体对象操纵

    **Hibernate实体对象操纵** 在Java开发中,Hibernate是一款非常重要的对象关系...希望本篇文章对您在学习Hibernate实体对象操纵的过程中有所帮助,如需进一步了解,可参考提供的"02_Hibernate实体对象操纵.ppt"文档。

    Hibernate中文Api最新参考文档

    会话是Hibernate中与数据库交互的主要接口,它负责管理实体的状态。会话具有瞬时性、持久性和临时性三种状态。通过`Session`对象,我们可以进行增删改查(CRUD)操作。例如,使用`save()`或`saveOrUpdate()`方法保存...

    Hibernate 中文api 等学习资料

    7. **实体生命周期**:了解Hibernate如何处理对象的创建、更新、删除等状态变化。 8. **性能调优**:包括批处理、连接池配置、查询优化等方面的知识。 9. **拦截器和事件监听器**:学习如何自定义行为,比如在对象...

    hibernate对象三状态及OneToOne&OneToMany&ManyToMany

    本篇将详细阐述Hibernate中的对象三状态、一对一(OneToOne)、一对多(OneToMany)以及多对多(ManyToMany)关系映射。 一、Hibernate对象三状态 1. 游离态(Detached):对象在应用程序中创建,但尚未与Session...

    Hibernate3.6中文文档.rar

    Hibernate定义了四种实体状态:瞬时态、持久态、托管态和游离态。理解这些状态有助于正确处理对象的生命周期,避免出现并发问题。 ### 九、性能优化 为了提高性能,Hibernate提供了多种策略,如延迟加载、批处理、...

    Hibernate中文文档+hibernate annotation +distribution

    1. 实体(Entity):在Hibernate中,实体对应数据库中的表,通过@Entity注解声明。 2. 映射(Mapping):实体和数据库表之间的关系通过XML或注解进行定义,包括字段映射、关联映射等。 3. 会话(Session):它是持久...

    Hibernate5中文用户使用手册

    持久化上下文:这部分讲解了如何进行实体持久化、删除实体、获取实体、刷新实体状态以及使用游离态数据等操作。还讲述了如何通过natural-id获得实体以及更改实体的状态。 访问数据库:涉及如何配置和使用不同的...

    05_传智播客hibernate教程_实体对象的三种状态与saveOrUpdate方法

    在Java的持久化框架Hibernate中,实体对象的状态管理和`saveOrUpdate`方法是核心概念,对于理解和有效使用Hibernate至关重要。在本教程中,我们将深入探讨实体对象的三种状态以及`saveOrUpdate`方法的工作原理。 ...

    Hibernate 中文文档

    **实体状态** Hibernate 将实体的状态分为四种:瞬态(Transient)、持久化(Persistent)、托管(Managed)和游离(Detached)。理解这些状态对于正确管理对象非常重要。 **实体生命周期** Hibernate 管理实体的...

    Hibernate 中文开发者文档

    5. **实体状态管理**: Hibernate区分了瞬时态、持久态、脱管态和游离态,便于理解对象的生命周期。 以上内容只是Hibernate中文开发者文档的基础概述,实际文档会包含更详细的使用示例、最佳实践和解决常见问题的...

    hibernate中文开发手册

    9. **实体生命周期**:Hibernate管理对象的生命周期,包括持久化、瞬时、托管和游离状态。手册会阐述这些状态的意义,以及在不同状态下对象的行为。 10. **实用工具与扩展**:除了基本功能,Hibernate还提供了许多...

    Hibernate 中文参考文档

    在本文档中,我们将深入探讨Hibernate的核心概念、配置、实体映射、查询语言以及其他关键特性。 ### 1. Hibernate概述 Hibernate是一个开放源代码的ORM框架,它允许Java开发人员将对象模型转换为关系数据库模型,...

    hibernate_reference中文版和Hibernate中文手册

    3. 实体类和映射文件:在Hibernate中,每个Java实体类都对应着数据库中的一个表,通过XML映射文件(hbm.xml)或注解方式来定义字段与表字段的对应关系。实体类通常需要继承Hibernate的Serializable接口,并使用@...

    hibernate 3.6 中文 chm

    2. **安装与配置**:文档会详述如何在项目中集成Hibernate 3.6,包括添加必要的库依赖、配置Hibernate的主配置文件(hibernate.cfg.xml)以及实体类的映射文件(.hbm.xml)。 3. **对象关系映射**:Hibernate的核心...

Global site tag (gtag.js) - Google Analytics