admin 管理员组

文章数量: 887021


2024年1月10日发(作者:jsonpath用法)

hibernate持久化对象的三种状态及描述

【原创版】

目录

1.临时状态 (Transient)

2.持久状态 (Persistent)

3.游离状态 (Detached)

正文

在 Hibernate 中,持久化对象有三种状态,分别为临时状态

(Transient)、持久状态 (Persistent) 和游离状态 (Detached)。这三种状态分别对应着不同的对象特性和数据库交互方式。

1.临时状态 (Transient)

临时状态的对象是由 Java 代码中的 new 关键字创建的,这些对象不与数据库中的任何记录相关联。它们仅仅存在于内存中,作为数据载体,而不涉及数据库的操作。在 Hibernate 中,这些对象不被认为是持久化对象,因此它们的状态变化不会触发数据库的同步操作。

2.持久状态 (Persistent)

持久状态的对象是与数据库中的记录相关联的对象。当一个持久化对象被创建并关联到一个数据库记录后,它将进入持久状态。在 Hibernate

中,持久状态的对象具有唯一的标识符 (OID),并且它们位于 Session 缓存中。当这些对象的属性发生变化时,Hibernate 会根据这些变化同步更新数据库中的记录。

3.游离状态 (Detached)

游离状态的对象是指那些与 Session 缓存分离的持久化对象。这些对象曾经是持久状态的对象,但在某些时刻与 Session 缓存失去了关联。游离状态的对象具有唯一的标识符 (OID),但它们不再受到 Hibernate

第 1 页 共 2 页

的监视。因此,当这些对象的属性发生变化时,Hibernate 不会同步更新数据库中的记录。

总之,在 Hibernate 中,临时状态、持久状态和游离状态分别代表了不同类型的对象以及它们与数据库的交互方式。

第 2 页 共 2 页


本文标签: 对象 状态 数据库 游离 关联