Hibernate对象持久化的三种状态
1、三种状态:
public static void testSel() {
Session session = HibernateUtils.openSession();
Transaction transaction = session.beginTransaction();
Student student=new Student();//瞬时态
student.setSname("zzzz");//瞬时态
student.setSex("男");//瞬时态
student.setBirthday("2019-11-11");//瞬时态
student.setClassno(");//瞬时态
student.setPoint();//瞬时态
student.setPhone(");//瞬时态
student.setEmail("20171514@qq.com");//瞬时态
session.save(student);//持久化状态
transaction.commit();
session.close();//游离状态
}
(1)游离态(没有id没有与session关联):
(2)持久化态(有id,与session有关联),在事务没有提交之前变为持久态:
执行了session.save(student);后生成了id值,但是并未执行insert语句。
(3)游离(托管)态:有id,没有与session关联:
2、持久化状态的特点:
持久化对象的任何变化都会自动同步到数据库。

Hibernate对象持久化的三种状态的更多相关文章
- hibernate学习笔记之三 持久化的三种状态
Hibernate持久化对象有3中状态,瞬时对象(transientObjects),持久化对象(persistentObjects),离线对象(detachedObjects) 下图显示持久化三种状 ...
- Hibernate一级缓存和三种状态
Hibernate一级缓存又称session缓存,生命周期很短,跟session生命周期相同. 三种状态:1.transient(瞬时态):刚new出来的对象,既不在数据库中,也不在session管理 ...
- java对象中的三种状态和脏检查及刷新缓存机制
瞬时状态 瞬时状态又称临时状态.如果java对象与数据库中的数据没有任何的关联,即此java对象在数据库中没有相关联的记录,此时java对象的状态为瞬时状态,session对于 瞬时状态的ava对象是 ...
- hibernate - 一级缓存和三种状态解析
转载自:http://www.cnblogs.com/whgk/p/6103038.html 一.一级缓存和快照 什么是一级缓存呢? 很简单,每次hibernate跟数据库打交道时,都是通过sessi ...
- 一级缓存、二级缓存、延迟加载、hibernate session 域 pojo三种状态
1.一级缓存(session缓存 ).二级缓存 意义:提高hibernate查询效率. 缺点:可能会因并发,产生数据不一致. 本质:基于session 的缓存,利用hiber ...
- [Hibernate 2]session的三种状态
一.Session的特点和获取 特点: Session不是线程安全的,它代表与数据库之间的一次操作,它的概念介于Connection和Transaction之间. Session也称为持久化管理器, ...
- Hibernate 对象的三种状态
hibernate对象的三种状态: (一) 瞬时(临时)状态: 对象被创建时的状态,数据库里面没有与之对应的记录! (二) 持久状态: 处于session的管理中,并且数据库里面存在与之对应的 ...
- hibernate 实体对象的三种状态以及转换关系。
最新的Hibernate文档中为Hibernate对象定义了四种状态(原来是三种状态,面试的时候基本上问的也是三种状态),分别是:瞬时态(new, or transient).持久态(managed, ...
- JavaWeb_(Hibernate框架)Hibernate中对象的三种状态
对象的三种状态 瞬时状态: 实体 没有id.没有与session关联 持久化状态: 特点:持久化状态对象的任何改变都会同步到数据库中 游离态[也称作托管态]: 实体 有id,没有与session关联 ...
随机推荐
- golang开发:环境篇(六) Go运行监控Supervisord的使用
为什么要使用Supervisord 17年第一次写Go项目的时候,用Go开发项目倒没没费多大劲,很快就开发完成了.到了在测试环境部署的时候,由于不知道有 Supervisord 这个软件,着实花了些功 ...
- 生意bisynes商业
1.Of, to, pertaining to or utilized for purposes of conducting trade, commerce, governance, advocacy ...
- Linux下使用strip如何对库和可执行文件进行裁减
如果生成的可执行文件或库比较大,这时候就可以使用strip命令进行裁减,在嵌入式开发中,如果使用的交叉编译工具是arm-linux,则命令 是arm-linux-strip,如果是arm-uclibc ...
- .net Dapper 学习系列(2) ---Dapper进阶
目录 写在前面 前期准备 Dapper 单表批量添加 在Dapper 多表查询 在Dapper 调用存储过程 在Dapper 使用QueryMultiple进行多表查询 在Dapper 使用事务进行多 ...
- Objective-C 知识点拾遗
-- :: UIWebView的使用总结 UIWebView全解
- intellij IDEA github clone 指定分支代码
1.问题描述 在实际开发中,我们通常会使用idea克隆一个新项目(clone),通常情况下,我们默认克隆的是master分支,但是如果master分支只是一个空文件夹而已,真正的代码在develop分 ...
- equals与hashCode
当我们需要将自己的类存入HashMap或HashSet时一般都要重写其equals与hashCode方法,但在重写时要符合规范否则会出问题. 1.equals方法 首先equals方法需要满足如下几点 ...
- 移动端媒体查询CSS3适配规则
该媒体查询适配规则是以UI设计图750p宽度为版本的,比如PS量的是450px,在书写时写 (450rem/2/15). @media (min-width:240px) and (max-width ...
- redis启动异常处理一例
rm -rf /var/log/redis/redis.log echo "net.core.somaxconn= 1024" >> /etc/sysctl.conf ...
- CentOS 7 的 redis 安装
redis 安装 使用下面的命令,下载.解压.编译Redis: $ wget http://download.redis.io/releases/ $ tar xzf redis-x.x.x.tar. ...