老师的说法

Hibernate中对象的状态
    在Hibernate使用中,对象的状态有以下三种
    a.临时对象 : 在程序中使用new方式创建的对象
    b.持久对象 : 在程序中与session对象关联,由session负责管理的对象.
                   处于session缓存中的对象都是持久对象
                   对象的持久性:指的是对象的数据状态在事务提交时可以与数据库保持同步更新.
             session.flush();//将持久对象与数据库同步
             tx.commit();//事务提交,提交前默认也调用session.flush()
    c.托管对象 : 在程序中如果session.close()后,session负责管理的持久对象将成为托管对象.
   垃圾回收器负责回收临时和托管状态,持久状态不能回收.

1. 临时对象:数据库中不存在该对象且没有与session关联的对象,是代码new 出来的,此时该对象既无ID也是内存中独立的对象
  2. 持久对象:应该分2种情况:
     a. 数据库中不存在该对象,但已经与session关联,并且对象的id也已经存在了,即事务提交时可以与数据库保持同步
     b. 数据库已经存在的对象,类似被session.load出来,此时的对象也是被session管理的,更新和删除等操作,事务提交后当然可以与数据库同步
  3. 脱管对象:
     也有可能数据库中存在或者不存在,其实脱管就是:由session管理变为session不再管理,而交由JVM去管理(可能被回收)
    可能是:
           a. 数据库中存在了,被load出来update
           b. 临时对象已经与session关联,但事务没提交
              ...
           等情况下,session关闭或清除缓存了。

先自己理解一下,然后结合老师的说法,此刻总算可以较为清晰的理解hibernate的3种对象状态了。

我对hibernate的对象的3种状态的理解的更多相关文章

  1. Hibernate持久化对象的三种状态深入理解

    关于OID hibernate缓存是一个map,他会根据OID作为缓存对象的key,我们的映射文件中<id>标签指定的属性值会作为OID 持久化对象的三种状态 为了方便理解,Hiberna ...

  2. Hibernate中对象的3种状态:瞬时态、持久态、脱管态

    Hibernate的对象有3种状态,分别为:瞬时态(Transient). 持久态(Persistent).脱管态(Detached).处于持久 态的对象也称为PO(Persistence Objec ...

  3. hibernate中对象的3种状态----瞬时态、持久态、脱管态

    Hibernate的对象有3种状态,分别为:瞬时态(Transient). 持久态(Persistent).脱管态(Detached).处于持久态的对象也称为PO(Persistence Object ...

  4. hibernate 中对象的3种状态总结

    1.Hibernate把对象分文三种状态:Transient(临时状态).Persistent(持久化状态).Detached(游离状态). 1)Transient:刚刚new出来的对象,就是Tran ...

  5. hibernate中对象的3种状态:瞬时态(Transient)、 持久态(Persistent)、脱管态(Detached)

    Hibernate的对象有3种状态,分别为:瞬时态(Transient). 持久态(Persistent).脱管态(Detached). 处于持久态的对象也称为PO(Persistence Objec ...

  6. Hibernate之对象的三种状态

    Hibernate之Java对象的三种状态 一.简述 本博文大部分的思想和内容引子CSND上名为 FG2006 这位大神的文章,连接地址为:http://blog.csdn.net/fg2006/ar ...

  7. 【SSH系列】-- Hibernate持久化对象的三种状态

    在上一篇博文中,小编主要简单的介绍了[SSH系列]--hibernate基本原理&&入门demo,今天小编来继续介绍hibernate的相关知识, 大家知道,Java对象的生命周期,是 ...

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

    1. 瞬时状态 (Transient) 当我们通过Java的new关键字来生成一个实体对象时,这时这个实体对象就处于自由状态,如下:  Customer customer=new Customer(“ ...

  9. JavaWeb_(Hibernate框架)Hibernate中对象的三种状态

    对象的三种状态 瞬时状态: 实体 没有id.没有与session关联 持久化状态: 特点:持久化状态对象的任何改变都会同步到数据库中 游离态[也称作托管态]: 实体 有id,没有与session关联 ...

随机推荐

  1. WPF_DatePiker控件的禁止输入

    <!--DatePicker没有只读属性,需要修改里面的DatePickerTextbox--!> <DatePicker.Resources> <Style Targe ...

  2. Jquery-获取勾选的checkbox的同级节点数量

    // 获取勾选的标签值得上一个兄弟节点 var groups = []; $('input[name="group_name"]:checked').siblings(" ...

  3. 转 Windows 7设置定时自动执行任务方法

    在使用电脑的时候可能会遇到一些需要无人值守让电脑自行执行任务后定时关机的情形,在Win7系统中,我们可以使用"任务计划"设置功能结合 shutdown命令灵活设置任务计划,让Win ...

  4. HDU 2802 F(N) 数论+打表

    题目大意:f[n]-n^3=f[n-2]-(n-1)^3 (n >=3),f[1]=1,f[2]=7,求f[n]. 题目思路:将n^3移到到等式右边化简的到:f[n]=f[n-2]+3n*(n- ...

  5. Skewed Sorting

    Description Farmer John has 2^N (1 <= N <= 10) cows, each conveniently labeled with paint on h ...

  6. 2016.10.08--Intel Code Challenge Final Round--D. Dense Subsequence

    time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standa ...

  7. ACM课程学习总结

    ACM课程学习总结报告 通过一个学期的ACM课程的学习,我学习了到了许多算法方面的知识,感受到了算法知识的精彩与博大,以及算法在解决问题时的巨大作用.此篇ACM课程学习总结报告将从以下方面展开: 学习 ...

  8. 一个很好的通用 excel 导出工具类

    此类用主要 jxl +注解+流 实现扩展性很强,jxl性能会比poi好一点,值得我们学习. package oa.common.utils; import java.io.OutputStream; ...

  9. 获取spring bean的utils

    <span style="font-size:10px;">package com.record.util; import org.springframework.be ...

  10. C1 FlexGrid控件 Editor 冲突问题

    当给C1FlexGrid控件加入 Checkbox后,添加新行时对新行的Editor 赋新控件时,会冲突如下图:       下面我们借助BeforeRowColChange 事件来解决这个问题: 我 ...