Hiberante持久化对象的3种状态
- 瞬时态(transient object): 没有OID值,没有被session对象管理
- 持久态(persistent object):有OID值,被session对象管理了
- 脱管态(detached object):有OID值,没有被session管理
上面说的这个OID其实是指主键属性,可以简单的理解为id(一般我们的主键都是id)。下面通过代码来介绍下这3中状态:
public class Demo2 {
@Test
public void test1(){
Session session = HibernateUtil.getSession();
session.beginTransaction();
//s:没有IOD,没有被session管理
//1,这个s对象就是瞬时态对象
Student s =new Student();
s.setName("美美");
//save()方法返回OID的值
Serializable id = session.save(s);
//当前s被session的save执行后
//s: 有OID,已经被session管理了
//2,这个s对象就是持久态对象
System.out.println(id);
System.out.println(s.getId()); //持久态对象有id的
session.getTransaction().commit();
session.close();//session关闭了
//s: 有OID,没有被session对象
//3.这个s对象就是脱管态对象
System.out.println(s.getId());
}
}
public class Demo2 {
@Test
public void test1(){
Session session = HibernateUtil.getSession();
session.beginTransaction();
//s:没有IOD,没有被session管理
//1,这个s对象就是瞬时态对象
Student s =new Student();
s.setName("美美");
//save()方法返回OID的值
Serializable id = session.save(s);
//当前s被session的save执行后
//s: 有OID,已经被session管理了
//2,这个s对象就是持久态对象
System.out.println(id);
System.out.println(s.getId()); //持久态对象有id的
session.getTransaction().commit();
session.close();//session关闭了
//s: 有OID,没有被session对象
//3.这个s对象就是脱管态对象
System.out.println(s.getId());
}
}

Hiberante持久化对象的3种状态的更多相关文章
- Hibernate持久化对象的三种状态深入理解
关于OID hibernate缓存是一个map,他会根据OID作为缓存对象的key,我们的映射文件中<id>标签指定的属性值会作为OID 持久化对象的三种状态 为了方便理解,Hiberna ...
- 【SSH系列】-- Hibernate持久化对象的三种状态
在上一篇博文中,小编主要简单的介绍了[SSH系列]--hibernate基本原理&&入门demo,今天小编来继续介绍hibernate的相关知识, 大家知道,Java对象的生命周期,是 ...
- OID,主键生成策略,PO VO DTO,get和load区别,脏检查,快照,java对象的三种状态
主键生成策略 sequence 数据库端 native 数据库端 uuid 程序端 自动赋值 生成的是一个32位的16进制数 实体类需把ID改成String 类型 assigned 程序端 需手 ...
- java:Hibernate框架1(环境搭建,Hibernate.cfg.xml中属性含义,Hibernate常用API对象,HibernteUitl,对象生命周期图,数据对象的三种状态,增删查改)
1.环境搭建: 三个准备+7个步骤 准备1:新建项目并添加hibernate依赖的jar文件 准备2:在classpath下(src目录下)新建hibernate的配置文件:hibernate.cf ...
- Hibernate 系列 07 - Hibernate中Java对象的三种状态
引导目录: Hibernate 系列教程 目录 1. Java对象的三种状态 当应用通过调用Hibernate API与框架发生交互时,需要从持久化的角度关注应用对象的生命周期. 持久化声明周期是Hi ...
- Hibernate中Java对象的三种状态
Hibernate中Java对象的三种 ...
- Hibernate的session缓存和对象的四种状态
一.session缓存 说session缓存就得说到JAVA对象的生命周期,当没有任何引用指向一个对象时,对象则可以被gc回收,也就是生命周期结束了 而hibernate获取一个对象后,会将对象存入s ...
- 【Java EE 学习 45】【Hibernate学习第二天】【对象的三种状态】【一对多关系的操作】
一.对象的三种状态. 1.对象有三种状态:持久化状态.临时状态.脱管状态(游离状态) 2.Session的特定方法能使得一个对象从一个状态转换到另外一个状态. 3.三种状态的说明 (1)临时状态:临时 ...
- hibernate对象的三种状态
对于hibernate,我想不在这里讲解了,我们就直接进入主题 在这里我将要说的是"hibernate对象的三种状态",对象是我们十分熟悉的,对吧!而对于对象它有三种状态 分别是瞬 ...
随机推荐
- WOSA/XFS PTR FORM—基础知识
目录 一.XFS PTR 二.XFS PTR FORM 三.Form.子Form.字段.框架.表单和媒介的定义 正文 一.XFS PTR Class Name PTR Class Identifier ...
- vue-router 手势滑动触发返回
vue-router的路由变换只存在“变换前”和“变换后”,不存在“切换中”的状态,所以做不到大多数app(微信那样的)在滑动过程中让界面跟随手指移动.但滑动事件还是可以监听的,我们可以在滑动之后再触 ...
- springboot 学习之路 15(集成shiro)
shiro: Apache Shiro 是 Java 的一个安全框架.功能强大,使用简单的Java安全框架,它为开发人员提供一个直观而全面的认证,授权,加密及会话管理的解决方案. 更多shiro介 ...
- EntityFramework Code-First 简易教程(一)
前言:学习了EF框架这么久,还没有好好总结一番,正好遇到一国外的网站,发现不错,随即翻译过来,一是让自己复习一遍,二是供广大初学者学习,翻译过程中加入了一些自己的理解,如有错误,还请指出,多谢多谢.好 ...
- 转:.NET面试题汇总(三)
原文地址:http://www.cnblogs.com/yuan-jun/p/6600692.html 1.简述 private. protected. public. internal 修饰符的访问 ...
- MySQL主从复制日常管理维护篇
日常工作中,我们需要经常进行一些监控和管理维护工作,以便能及时发现一些复制中的问题,并尽快解决,以此来保证复制能够正常工作 1.查看从库状态 MySQL [(none)]> show slave ...
- chrome历史记录,浏览记录,全选问题.
一句话, 这个列表支持SHIFT多选 =,=!
- Beta 冲刺 (7/7)
Beta 冲刺 (7/7) 队名:洛基小队 峻雄(组长) 已完成:人物释放技能部分的实现 后两天计划:整合脚本,测试内容 剩余任务:整合各部分脚本 困难:尽快完善整合出β版的内容 非易 已完成:商店功 ...
- Eclipse 插件安装报错问题(已解决)
错误信息提示: An error occurred while installing the items session context was:(profile=epp.package.jee, p ...
- Arcgis创建SDE_Geometry、SDO_Geometry的区别
先初略的了解下SDE_Geometry和SDO_Geometry的区别: 1. SDO_GEOMETRY Oracle Spatial在MDSYS模式下定义了一系列几何类型.函数来支持空间数据的存储和 ...