`
hope598
  • 浏览: 67048 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

实例状态:瞬时、持久化、托管

阅读更多

      一个持久化类的实例可能处于三种不同的状态中的某一种。这三种状态的定义则与所谓的持久化上下文(persistence context)有关。Hibernate的Session对象就是这个所谓的持久化上下文:

 

瞬态(transient)

      该实例从未与任何持久化上下文关联过。它没有持久化标识(相当于主键值)。

 

持久化(persistent)

      实例目前与某个持久化上下文有关联。它拥有持久化标识(相当于主键值),并且可能在数据库中有一个对应的行。对于某一特定的持久化上下文,Hibernate保证持久化标识与Java标识(其值代表对象在内存中的位置)等价。

 

托管(detached)

      实例曾经与某个持久化上下文发生过关联,不过那个上下文被关闭了,或者这个实例是被序列化(serialize)到另外的进程。它拥有持久化标识,并且在数据库中可能存在一个对应的行。对于托管状态的实例,Hibernate不保证任何持久化标识和Java标识的关系。

分享到:
评论

相关推荐

    HIBERNATE - 符合Java习惯的关系数据库持久化.docx

    - **实例状态**:讨论了Hibernate对象的瞬时、持久化、托管和脱管等不同状态及其转换。 3. **配置** - **可编程配置方式**:展示了通过代码动态配置Hibernate的方式。 - **SessionFactory获取**:说明如何初始化...

    hibernate开发实例源码,由浅入深众多实例

    10. **实体生命周期**:了解Hibernate中实体的瞬时、持久化、托管和脱管状态。 11. **级联操作**:如何配置和使用级联保存、更新、删除等操作。 12. **实体拦截器**:自定义逻辑,如日志、权限控制等。 13. **实体...

    hibernate帮助文档

    Hibernate定义了四种对象状态:瞬时(Transient)、持久化(Persistent)、托管(Managed)和脱管(Detached)。理解这些状态对于有效使用Hibernate至关重要。 五、操作实体 1. 插入(Save/SaveOrUpdate):将实体...

    SUN公司的JPA课件

    - **实体生命周期**:实体在其生命周期中会经历不同的状态变化,主要分为瞬时状态、托管状态、持久状态和删除状态。 - **EntityManager**:是JPA的核心组件之一,负责管理和控制实体实例的状态,并提供了一系列操作...

    hibernate源码的学习

    4.脱管状态:Session关闭后,持久化对象变为脱管状态,其数据库连接断开。 三、实体映射 - @Entity表示一个Java类作为数据库表的映射。 - @Table指定映射的数据库表名。 - @Id标识主键字段,@GeneratedValue用于...

    Hibernate帮助文档合集

    2. 对象状态:Hibernate定义了瞬时、持久化、脱管和托管四种对象状态,理解这些状态对于正确操作对象至关重要。 四、查询语言 1. HQL(Hibernate Query Language):类似SQL,但面向对象,用于查询持久化对象。 2. ...

    hibernate学习

    2. **对象状态:** Hibernate定义了四种对象状态:瞬时(Transient)、持久化(Persistent)、托管(Managed)和脱管(Detached)。了解这些状态对于正确管理和更新对象至关重要。 3. **配置文件:** Hibernate使用...

    hibernate 全面中文帮助 CHM文档

    4. **实体状态管理**:Hibernate识别四种状态:瞬时、持久化、托管和脱管,理解这些状态有助于正确操作对象。 综上所述,Hibernate CHM文档将覆盖这些核心概念及使用技巧,帮助开发者更好地掌握和运用Hibernate,...

    hibernate例子

    11. **实体状态**:Hibernate识别四种实体状态:瞬时、持久化、托管和脱管,理解这些状态对于有效使用Hibernate至关重要。 12. **Hibernate配置**:包括XML配置文件(hibernate.cfg.xml)和基于Java的配置,设置...

    JPA开发文档--总结

    - **生命周期和状态**: 实体有几种状态:Transient(瞬时)、Persistent(持久化)、Detached(游离)和Managed(托管)。EntityManager负责管理这些状态转换。 - **持久化Entity**: EntityManager的persist()方法...

    hibernate培训文档.ppt

    持久层是软件系统中负责数据存储和检索的层次,它的主要职责是将应用程序中的对象状态持久化到数据库或其他持久化介质中。在没有明确持久层的设计中,业务逻辑和数据库访问往往交织在一起,导致代码难以理解和维护。...

    Hibernate3.0 tutorial

    Hibernate支持四种状态:瞬时、持久化、托管和脱管。持久化对象可以通过Session的`save()`, `saveOrUpdate()`和`merge()`方法保存到数据库。`Transaction`用于管理事务,确保数据的一致性。 ```java Transaction tx...

    hibernat培训

    Hibernate管理的对象有四种状态:瞬时(Transient)、持久化(Persistent)、托管(Managed)和脱管(Detached)。理解这些状态对于正确地管理对象至关重要,例如在何时保存、更新或删除对象。 **五、Hibernate查询...

    [Hibernate雨夜的寂寞原创教程].Hibernate

    9. **实体状态**:Hibernate识别四种实体状态:瞬时、持久化、托管和脱管,理解这些状态对于正确地管理和操作对象至关重要。 10. **实体生命周期**:从新建对象到删除对象,Hibernate会经历一系列的生命周期状态...

    hibernate_reference_3.5.pdf

    - **实例状态**:介绍了 Hibernate 中对象的状态模型,例如瞬时状态、托管状态和持久化状态。 - **JMX 集成**:描述了如何利用 JMX(Java Management Extensions)技术来监控和管理 Hibernate 实例。 - **JCA 支持**...

    hibernate面试题

    在Hibernate中,瞬时状态的对象不会被持久化到数据库中。 - **瞬时状态**:对象未与Session关联,且未保存到数据库。 - **持久状态**:对象与Session关联,并已保存到数据库。 - **托管状态**:对象与Session关联,...

    hibernate源码分析一_启动过程_

    9. **实体状态管理**:Hibernate跟踪对象的状态(瞬时、持久化、托管、脱管),并根据对象状态进行不同的操作。例如,新创建的对象处于瞬时状态,当通过`Session.save()`或`Session.persist()`方法保存时,对象变为...

    jpa相关资料jpa相关资料

    - **生命周期和状态**:实体有瞬时态、持久态、托管态和删除态四种状态,例如,调用`entityManager.persist(entity)`将瞬时对象变为持久对象。 - **持久化Entity**:`persist()`方法使新实体成为持久化实体,其...

    Hibbernate应用练习

    5. **对象状态(Object State)**: Hibernate 将对象分为瞬时、持久化、托管和脱管四种状态,理解这些状态有助于管理对象的生命周期。 6. **查询语言(HQL)**: Hibernate 查询语言(HQL)是 Hibernate 提供的面向...

Global site tag (gtag.js) - Google Analytics