当前位置: 首页 > news >正文

Hibernate的三种状态

1.瞬时状态(Transient)

   通过new创建对象后,对象并没有立刻持久化,他并未对数据库中的数据有任何的关联,此时java对象的状态为瞬时状态,Session对于瞬时状态的java对象是一无所知的,当对象不再被其他对象引用时,它的所有数据也就丢失了,对象将会被java虚拟机按照垃圾回收机制处理。

   2.持久状态(Persistent) 

  当对象与Session管理时,他就处于持久状态。处于持久状态的对象拥有数据库表示(数据库中的主键值)。

   3.游离状态(Detached)   

  处于持久状态的对象,脱离与其关联的Sessionn的管理后,对象就处于游离状态。

三种对象见的转换

使用new关键字构建的对象,该对象的状态就是瞬时状态

1.瞬时状态转为持久状态

  使用session对象的save()或者seavOrUpdate()方法保存对象后,该对象的状态由瞬时转换为持久状态。

  使用Session对象的get()或load()方法获取对象,该对象的状态是持久状态

2.持久状态转为瞬时状态

  执行Session对象的delete()方法后,对象由原来的持久状态变为瞬时状态,因为此时刻对象没有与任何的数据库数据关联。

3.持久状态转为游

  执行了Session对象的evict(),clear(),close()方法,对象由原来的持久状态转为游离状态;

4.游离状态转为持久状态

  重新获取Session对象,执行Session对象的update()或saveOrUpdate()方法,对象游离状态转为持久状态,该对象再次与session关联,

5.游离状态转为瞬时状态

  执行Session()对象的delete()方法时,对象由游离状态转为瞬时状态.

  处于瞬时状态或游离状态的对象不再被其他对象引用时,会被java虚拟机按照垃圾回收机制处理.

相关文章:

  • 53.最大子数组和
  • 【C/PTA —— 10.函数1(课外实践)】
  • 深入理解C语言指针:基础概念、语法和实际应用
  • Twincat使用:EtherCAT通信扫描硬件设备链接PLC变量
  • 阿里云发送短信
  • AIGC 3D即将爆发,混合显示成为产业数字化的生产力平台
  • Docker 的基本概念和优势,以及在应用程序开发中的实际应用
  • C++ Qt QFile用法介绍与代码演示
  • 静态web服务器开发之HTTP协议
  • java通过年月获取当前月所有周(跨月),获取每周开始日期和结束日期
  • css 固定按钮到页面顶部或者底部的实现方式
  • 百度云加速免费版下线,推荐几款目前仍旧免费的CDN
  • 国家开放大学平时作业 练习题
  • C#,《小白学程序》第七课:列表(List)其一,编制《高铁车次信息表》
  • Git工作流和Commit规范
  • [nginx文档翻译系列] 控制nginx
  • 【干货分享】SpringCloud微服务架构分布式组件如何共享session对象
  • Angular数据绑定机制
  • Apache Zeppelin在Apache Trafodion上的可视化
  • exports和module.exports
  • interface和setter,getter
  • Javascript设计模式学习之Observer(观察者)模式
  • Mithril.js 入门介绍
  • overflow: hidden IE7无效
  • seaborn 安装成功 + ImportError: DLL load failed: 找不到指定的模块 问题解决
  • Swoft 源码剖析 - 代码自动更新机制
  • 大主子表关联的性能优化方法
  • 发布国内首个无服务器容器服务,运维效率从未如此高效
  • 浏览器缓存机制分析
  • 前端
  • 前端js -- this指向总结。
  • 少走弯路,给Java 1~5 年程序员的建议
  • 新手搭建网站的主要流程
  • [Shell 脚本] 备份网站文件至OSS服务(纯shell脚本无sdk) ...
  • Nginx实现动静分离
  • 阿里云API、SDK和CLI应用实践方案
  • 翻译 | The Principles of OOD 面向对象设计原则
  • ​学习笔记——动态路由——IS-IS中间系统到中间系统(报文/TLV)​
  • #git 撤消对文件的更改
  • #window11设置系统变量#
  • #我与Java虚拟机的故事#连载13:有这本书就够了
  • $forceUpdate()函数
  • (4)logging(日志模块)
  • (AtCoder Beginner Contest 340) -- F - S = 1 -- 题解
  • (NO.00004)iOS实现打砖块游戏(十二):伸缩自如,我是如意金箍棒(上)!
  • (Python第六天)文件处理
  • (ZT)北大教授朱青生给学生的一封信:大学,更是一个科学的保证
  • (二)构建dubbo分布式平台-平台功能导图
  • (二)换源+apt-get基础配置+搜狗拼音
  • (佳作)两轮平衡小车(原理图、PCB、程序源码、BOM等)
  • (强烈推荐)移动端音视频从零到上手(上)
  • (三)uboot源码分析
  • (转)chrome浏览器收藏夹(书签)的导出与导入
  • (转)拼包函数及网络封包的异常处理(含代码)
  • (转)详解PHP处理密码的几种方式