Hibernate实体对象的生命周期

开发 后端
本文向您介绍Hibernate实体对象的生命周期,包括Transient(自由状态)、Persistent(持久状态)、Detached(游离状态) 。

Hibernate实体对象的生命周期

实体对象的3种状态

Transient(自由状态)

所谓的Transient,即实体对象在内存中自由存在,它与数据库中的记录无关.

Persistent(持久状态)

所谓的Persistent,即Hibernate实体对象处于由Hibernate框架所管理的状态,这种状态下,实体对象的引用被纳入了Hibernate实体容器中加以管理.
处于Persistent状态的对象,其变更将由Hibernate持久化到数据库中. 简而言之,如果一个实体对象与某个Session实例发生了关联,并处于对应Session的有效期内,那么它将处于Persistent状态.

Detached(游离状态)

处于Persistent状态的对象,其对应的Session实例关闭之后,那么些对象就处于"Detached"状态.在数据库中存在对应的记录. 同时,三种状态可以相互转换.

Hibernate实体对象的识别

◆实体身份识别(Data Identity)

◆引用比较(==)

◆内容比较(equals)

在站数据库的角度,我们认为,在一个库表结构中,主键可以惟一确定一条记录,那么拥有同样主键的实体对象,则认为他们等同.在Hibernate中,这个规则亦成立.

 

【编辑推荐】

  1. 各种Hibernate保存方式的区别
  2. 对Hibernate继承映射的讲解
  3. 有关Hibernate优点和缺点的阐述
  4. 作为持久层的Hibernate优点及缺点
  5. Hibernate 删除出现异常的解决方案
责任编辑:佚名 来源: JavaEye
相关推荐

2013-08-19 17:03:00

.Net生命周期对象

2015-07-08 16:28:23

weak生命周期

2022-04-19 07:20:24

软件开发安全生命周期SSDLC应用安全

2009-03-04 10:18:50

生命周期JVMjava

2010-09-27 10:40:47

JVM对象生命周期

2010-07-14 10:48:37

Perl线程

2009-06-11 11:28:35

JSF生命周期

2012-04-28 13:23:12

Java生命周期

2011-06-16 09:31:21

ActivityAndroid

2009-06-18 13:32:39

Java线程生命周期

2010-09-27 10:30:42

JVM对象生命周期

2010-01-15 13:52:44

VB.NET对象生命周

2019-10-16 10:50:13

Linux内核测试

2012-01-16 09:00:56

线程

2013-07-29 05:11:38

iOS开发iOS开发学习类的'生命周期'

2012-06-20 10:29:16

敏捷开发

2009-06-24 10:47:55

JSF生命周期

2021-07-19 05:52:29

网络生命周期网络框架

2011-07-07 14:22:27

Cocoa 对象 生命周期

2023-03-16 15:29:57

鸿蒙工具
点赞
收藏

51CTO技术栈公众号