`

持久化对象的几个状态

阅读更多

持久化对象有以下三种状态:

 

  (1)瞬时对象(transient Objects)

   使用new操作符初始化的对象不是立刻就持久化的,他的状态是瞬时的,也就是说他们没有任何跟数据库表相关联的行为,只要应用不在引用这个对象(不再被任何其他对象所引用),他们的状态就会丢失,并由垃圾回收机制回收。

 

 (2)持久化对象(Persist Objects)

   持久实例是任何具有数据库标识的实例。他有持久化管理器Session统一管理,持久实例是在事务中进行操作的--他们的状态在事务结束时通数据库进行同步。当事务提交时,通过执行SQL的INSERT、UPDATE、和DELETE语句吧内存中的状态同步到数据库中

 

  (3)离线对象(Detached Objects)

   Session 关闭以后,持久化对象就会变成离线对象。离线表示这个对象不能再与数据库保持同步,他们不再受Hibernate管理。

分享到:
评论

相关推荐

    深入理解持久化对象

    要使一个对象成为持久化对象,必须满足以下几点要求: 1. **提供无参数构造器**:这是Hibernate框架的基本要求之一,确保Hibernate能够通过反射机制创建对象实例。 2. **提供标识属性**:标识属性是对象唯一的...

    精通Hibernate:Java对象持久化详解.zip

    在Java开发中,持久化是将应用程序中的对象状态保存到持久存储介质(如数据库)的过程。Hibernate通过提供一种对象-关系映射机制,使得Java对象可以直接与数据库表进行交互,而无需编写大量的SQL语句。这种映射机制...

    JPA学习笔记-EJB-05JPA实体对象状态和实体对象的高级操作

    当一个持久化对象被删除时,它会经过一个短暂的销毁状态,随后变成瞬时状态。 #### 二、实体管理器的高级操作 实体管理器不仅负责管理实体对象的状态,还提供了一些高级操作来帮助开发者更好地控制数据持久化的...

    Java对象持久化技术详解

    在Hibernate中,Java对象持久化主要通过以下几个步骤实现: 1. **对象映射**:定义实体类,并使用注解或XML文件来指定实体类与数据库表之间的映射关系。 2. **会话管理**:通过SessionFactory创建Session对象,...

    持久层和持久化

    其次,持久化(Persistence)则更多地被视为一个动词,表示将对象的状态转化为可持久的形式,以便于长期存储。在Java中,尤其是通过ORM(对象关系映射)工具如Hibernate进行持久化操作时,它将对象与数据库之间的...

    delphi 的 持久性对象框架

    Delphi的持久性对象框架是Delphi编程中用于数据库应用的一种技术,它允许开发者将对象的状态持久化到数据库中,以便在程序运行的不同阶段能够保存和恢复对象的信息。这一框架结合了面向对象编程的特性与数据库操作,...

    精通Hibernate:对象持久化技术第二版part3

    8.3.2 持久化对象的特征 189 8.3.3 被删除对象的特征 190 8.3.4 游离对象的特征 191 8.4 Session接口的详细用法 191 8.4.1 Session的save()和persist()方法 191 8.4.2 Session的load()和get()方法 194 8.4.3 ...

    对象持久化

    当一个对象由持久化上下文管理时,它处于持久状态;当对象从上下文中移除,但仍保持其标识时,它就变成了分离状态;而新创建的未被持久化上下文管理的对象则处于瞬时状态。 #### 结论 对象持久化是现代软件开发中...

    精通hibernate:对象持久化技术孙卫琴第二版part2

    8.3.2 持久化对象的特征 189 8.3.3 被删除对象的特征 190 8.3.4 游离对象的特征 191 8.4 Session接口的详细用法 191 8.4.1 Session的save()和persist()方法 191 8.4.2 Session的load()和get()方法 194 8.4.3 ...

    1对象持久化与hibernate基础共48页.pdf.zi

    使用Hibernate进行对象持久化时,主要有以下几个核心概念: 1. Session:这是Hibernate的核心接口,负责管理对象的生命周期,包括对象的加载、保存、更新和删除。Session也提供了事务管理和缓存机制。 2. ...

    quartz1.6.6 持久化实例

    在"quartz1.6.6 持久化实例"中,我们重点关注以下几个关键知识点: 1. **Quartz基本概念**: - **Job**:Job是Quartz中的核心接口,代表一个可执行的任务。你需要创建一个类实现`org.quartz.Job`接口,并重写`...

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

    1. **概览**:提供了一个整体视图,展示Hibernate如何处理持久化对象,包括Session、SessionFactory、Transaction等核心组件。 2. **对象状态**:Hibernate管理的对象具有三种状态:瞬时态(Transient)、持久态...

    java-hibernate持久化

    首先,我们讨论Hibernate中的持久化对象状态。这些状态定义了对象与Hibernate Session的关系,以及它们在内存和数据库之间的关系: 1. **瞬时态(Transient)**:对象在创建后没有与任何Session关联,也没有持久化...

    C# 对象持久化详解

    在C#编程中,对象持久化是一个重要的概念,它允许我们在程序运行时将对象的状态保存到持久化的存储介质,如磁盘,以便后续能够恢复这些对象的状态。这在需要跨会话或者跨进程保持数据一致性的场景中尤其有用。本文将...

    php 轻量db层 持久化层 数据库层

    数据库持久化层是指在应用程序中用于与数据库交互的一层抽象,它负责将对象的状态转换为可以存储的数据格式,并在需要时恢复这些状态。这样做的好处在于,开发者可以不用直接编写SQL语句,而是通过面向对象的方式来...

    Hibernate广泛使用强健的Java持久化框架

    当对象被持久化后,Hibernate会跟踪其状态变化,自动执行相应的数据库操作。 综上所述,Hibernate通过强大的ORM机制,将Java对象和数据库表之间的关系抽象化,降低了数据库操作的复杂性,提升了开发效率。在Java...

    对象持久类框架的构架设计

    在深入探讨对象持久类框架的构架设计之前,我们首先明确几个关键概念: 1. **世界**:指的是系统内部的所有元素,包括但不限于数据库、数据库记录、对象实例等。 2. **类**:用于定义一组具有相似特性的对象,它...

    Hibernate 三种状态

    - **持久化状态 → 游离状态**:当关闭 Session 或调用 `evict()` 方法时,持久化对象会变为游离状态。 - **游离状态 → 持久化状态**:可以通过再次调用 `save()`、`persist()` 或 `merge()` 方法将游离对象转变为...

Global site tag (gtag.js) - Google Analytics