Hibernate的对象状态是什么?并做详细说明

Hibernate 对象的三种状态和特点 一个关于关于Hibernate对象的状态的描述。 立即下载
Hibernate的对象状态是什么?并做详细说明
瞬时态(Transient)、 持久态(Persistent)、脱管态(Detached)。处于持久态的对象也称为PO(Persistence Object),瞬时对象和脱管对象也称为VO(Value Object)。
瞬时态
由new命令开辟内存空间的java对象,
eg. Person person = new Person(”amigo”, “女”);
如果没有变量对该对象进行引用,它将被java虚拟机回收。
瞬时对象在内存孤立存在,它是携带信息的载体,不和数据库的数据有任何关联关系,在Hibernate中,可通过session的save()或 saveOrUpdate()方法将瞬时对象与数据库相关联,并将数据对应的插入数据库中,此时该瞬时对象转变成持久化对象。
持久态
处于该状态的对象在数据库中具有对应的记录,并拥有一个持久化标识。如果是用hibernate的delete()方法,对应的持久对象就变成瞬时对象,因数据库中的对应数据已被删除,该对象不再与数据库的记录关联。
当一个session执行close()或clear()、evict()之后,持久对象变成脱管对象,此时持久对象会变成脱管对象,此时该对象虽然具有数据库识别值,但它已不在HIbernate持久层的管理之下。
持久对象具有如下特点:
1. 和session实例关联;n
2. 在数据库中有与之关联的记录。
脱管态
当与某持久对象关联的session被关闭后,该持久对象转变为脱管对象。当脱管对象被重新关联到session上时,并再次转变成持久对象。
脱管对象拥有数据库的识别值,可通过update()、saveOrUpdate()等方法,转变成持久对象。
脱管对象具有如下特点:
1. 本质上与瞬时对象相同,在没有任何变量引用它时,JVM会在适当的时候将它回收;
2.   比瞬时对象多了一个数据库记录标识值。4RESA3ES  B 
【WorkBuddy专栏50】代码开发技术体系深度分析——前端、后端、全栈、移动端、数据工程,WB和CODEBUDDY谁更擅长? 阅读详情

相关推荐

计算机组成与系统结构(第三版) 袁春风主编 课后习题答案讲解 第一、二章 计算机系统概述 数据的机器级表示

计算机组成与系统结构(第三版) 袁春风主编 课后习题答案讲解 第一、二章 计算机系统概述 数据的机器级表示

qq_73523062的博客 2089

Hibernate对象的三种状态

Hibernate对象的三种状态 一、状态介绍 hibernate 规定三种状态: 瞬时态(临时态)、持久态、脱管态(游离态) 状态 瞬时态/临时态:transient,session没有缓存对象,数据库也没有对应记录。 1.没有与Hibernate产生关联. 2.没有与数据库中的记录产生关联(有关联就是与数据库中的id有对应). ...

hongcaixia的博客 1154

打包可以在Hadoop 3.3.1和Hive 3.1.2上使用的Tez 0.10.1 minimal

编译打包可以在Hadoop 3.3.1和Hive 3.1.2上使用的Tez 0.10.1

qq_42013533的博客 2617

Hibernate对象状态

Hibernate对象状态 在hibernate中有三种状态:瞬时态(Transient)、 持久态(Persistent)、脱管态(Detached)。处于持久态的对象也称为PO(Persistence Object),瞬时对象和脱管对象也称为VO(Value Object)。 通过自己在网上的搜索,也了解到,这三种状态也可以称作:临时状态、持久状态、游离状态。 一、三种状态介绍: ...

Red88Army的专栏 401

ollama接入图像识别大模型

ollama接入图像识别大模型

qq_36437991的博客 2075

电力现货交易市场-报价方式

电是一种能源,也是一种商品,既然是商品自然可以在市场中进行自由交易。

qq_38225433的博客 5118

hibernate映射对象三种状态的分析

一,首先hibernate中对象的状态有 三种:瞬态、游离态和持久态,三种状态转化的方法都是通过session来调用,瞬态到持久态的方法有save()、saveOrUpdate()、 get()、load();持久态到瞬态的方法有delete();游离态到持久态的方法有update()、saveOrUpdate()、 lock();持久态到游离态的方法有:session.close()、sessi

dbeautifulLife的博客 589

避坑指南:Winbond W25Q256JV QSPI Flash状态寄存器那些坑(含QE位不可改的解决方案)

本文深度解析Winbond W25Q256JV QSPI Flash状态寄存器的常见问题与解决方案,重点解决QE位不可修改、写保护区域异常等典型问题。通过实战代码示例和寄存器配置技巧,帮助开发者高效完成Flash读写测试与性能优化,避免常见设计陷阱。

ol7890123的博客 309

hibernate对象状态

hibernate对象状态有三种 瞬时(临时)对象 持久化对象 脱离(游离)对象 临时状态(transient):刚刚用new语句创建,还没有被持久化,不处于Session的缓存中。处于临时状态的Java对象被称为临时对象。(数据库和session中都不存在) 持久化状态(persistent):已经被持久化,加入到Session的缓存中。处于持久化状态的Java对象被称为持

影子 281

抽象代数学习笔记(抽象代数的历史、运算)

1. 抽象代数历史 对于五次及以上的代数方程是否存在根式解这个问题,欧拉、拉格朗日、高斯等数学家都没得到答案,但是他们得出五次及以上的代数方程组不存在根式解的结论。19世纪初,阿贝尔提出五次及以上的代数方程不存在根式解,并找出一类特殊的五次及以上的代数方程可以用根式解表示出来。另外一个年轻的数学家伽罗华...

huangzhpei的博客 3668

C# WPS操作PPT,全屏,缩率图,备注,跳转播放

本文介绍了一个使用C#开发的PPT操作工具,主要功能包括检测当前打开的PPT文件、获取选中PPT路径、指定播放PPT、获取PPT页面序号和缩略图、提取备注内容等。文章展示了操作界面效果图,并重点解决了用户手动退出PPT后重新获取路径时报错的问题。核心代码实现了通过WPS API进行PPT文件的打开、全屏播放、页面跳转、获取当前页位置等功能,同时支持生成PPT缩略图预览和备注信息提取。当用户未通过工具按钮打开PPT时,程序会自动初始化PPT信息确保功能正常使用。

遇见--专栏 311

hibernate对象的三种状态

hibernate对象的三种状态探究

u011526599的专栏 2410

从 SAP GUI 走向 SAP Fiori:一套面向 SAP S/4HANA 的用户迁移实战方法论

SAP S/4HANA转型中,用户从SAP GUI迁移到Fiori的难点在于业务价值的重构而非简单的界面替换。Fiori的核心价值在于角色化、实时洞察和智能决策,而非完全替代GUI。成功迁移需分阶段推进:先展示关键角色的价值,建立统一入口,再逐步提高Fiori占比。让用户参与设计比后期培训更重要,需通过具体场景(如采购优先级管理)展示效率提升。迁移策略应平衡新旧界面优势,让Fiori成为业务价值触达的主要方式,而非强制替换。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 236

5. Hibernate的对象状态是什么?并做详细说明

hibernate面试题 --- Hibernate的对象状态是什么?并做详细说明   Hibernate的对象状态是什么?并做详细说明    Hibernate的对象状态其实就是session中持久化类的实例的对象状态,了解了持久化类的状态,才可以正确的运用session中的方法。    Hibernate的对象状态为瞬时状态、持久状态、脱管状态 (1)瞬时状态        该实

142

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

hibernate面试题 --- Hibernate的对象状态是什么?并做详细说明

Hibernate的对象状态是什么?并做详细说明    Hibernate的对象状态其实就是session中持久化类的实例的对象状态,了解了持久化类的状态,才可以正确的运用session中的方法。    Hibernate的对象状态为瞬时状态、持久状态、脱管状态 (1)瞬时状态        该实例是刚用new语句创建的,还没有被持久化,不处于任何session的缓存中,它没有对象标识符值

韩晓爽的专栏 902

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

hibernate状态区分

Hibernate三种状态的区分,以及save,update,saveOrUpdate,merge等的使用 Hibernate的对象有3种状态,分别为:瞬时态(Transient)、 持久态(Persistent)、脱管态(Detached)。处于持久态的对象也称为PO(Persistence Object),瞬时对象和脱管对象也称为VO(Value Object)。 瞬时态 由new命令开辟内存空间的java对象, eg. Person person = new Person(“xxx”, “xx”);

lxcw_sir的博客 223

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Hibernate持久化对象的三种状态

Hibernate中持久化对象的状态有:Transient、Persistent、Detached 持久化对象的生命周期是: 怎样理解持久化对象的三种状态呢?下面的代码会体现出来 package com.bjpowernode.hibernate; import java.util.Date; import junit.framework.TestCase;

李颖杰--廊坊师范学院七期信息技术提高班 6705

Hibernate中对象的三种状态及相互转化

Hibernate中的对象有三种状态: 瞬时状态 (Transient),持久状态(Persistent),脱管状态(Detached)。     1.瞬时状态 (Transient) 当我们通过Java的new关键字来生成一个实体对象时,这时这个实体对象就处于自由状态,如下:  Customer customer=new Customer(“zx”,27,images); 这时cus

nwpu_geeker的博客 1137

Hibernate框架(11) —— Hibernate中的对象状态

一、引言    Hibernate中对象有三种状态:瞬时态、持久化态、脱管态。二、瞬时状态                 1. 特点:        A  没OID,不在session管理范围内。        B  也称自由态或临时态,一般指我们new出来的对象,不存在OID,与Hibernate无关联,在数据库中无记录。        C  使用后,会被JVM直接回收,只是用于信息携带。  ...

蒋金声的博客 387

Hibernate 对象的三种状态

(1)瞬态:表示该实体对象在内存中是自由存在的,也就是说与数据库中的数据没有任何的关联即,该实体从未与任何持久化上下文联系过,没有持久化标识(相当与主键)。瞬态实体的特征有:                与数据库中的记录没有任何关联,也就是没有与其相关联的数据库记录 与Session没有任何关系,也就是没有通过Session对象的实例对其进行任何持久化的操作。 (2)持久态:指该实体对象处于

dingxingmei的专栏 643

Hibernate中实体对象的生命周期

实体对象的生命周期在Hibernate应用中是一个很关键的概念,正确的理解实体对象的生命周期将对我们应用Hibernate做持久层设计起到很大的作用.而所谓的实体对象的生命周期就是指实体对象由产生到被GC回收的一段过程.在这过程中我们需要理解的就是实体对象生命周期中的三种状态.1.自由状态(Transient)所谓的Transient状态,即实体对象在内存中自由存在,与数据库中的记录无关,通常是我...

我的IT技术杂谈 131

Hibernate中对象三种状态的区别

都知道 Hibernate的对象 有transient,persistence,detached三种状态 下面我来说说这三种状态的区别     transient        *数据库中没有与之对应的数据         *没有纳入Session的管理,也就是在没有被Session缓存      Persistence        *在数据库中有与之对应的数据         *已经纳入了Se...

等着你的出现 187

Hibernate对象的状态

Hibernate中的对象有三种状态: 瞬时状态 (Transient),持久状态 (Persistent), 1. 脱管状态 (Detached) 1. 1. 瞬时状态(Transient) 由 new 命令开辟内存空间的 Java 对象,也就是平时所熟悉的普通Java 对象。 如: Student stu = new Student(); 瞬时对象特点: (1) 不和 Sessio

小黄师傅的专栏 481

hibernate 对象的三种状态

在Hibernate中有三种状态,对它的深入理解,才能更好的理解hibernate的运行机理,刚开始不太注意这些概念,后来发现它是重要的。对于理解hibernate,JVM和sql的关系有更好的理解。对于需要持久化的JAVA对象,在它的生命周期中有三种状态,而且互相转化。 1,  临时状态(Transient):用new创建的对象,它没有持久化,没有处于Session中,处于此状态的对象叫临

huaguoming的专栏 695
上一篇: Cascade和inverse的区别
下一篇: Load和get方法的区别
日依
博客等级 码龄15年 165粉丝 165原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值