Linux安全网 - Linux操作系统_Linux 命令_Linux教程_Linux黑客

会员投稿 投稿指南 本期推荐:
搜索:
您的位置: Linux安全网 > Linux集群 > Architecture > » 正文

亲,hibernate持久化对象的状态图全面解析!

来源: w183705952 分享至:

hibernate中持久化对象的状态图解析

hibernate中对象的状态图可以用UML的状态图表示如下:


session就是一级缓存

对以上图形的解析:1.当一个对象被new了以后此对象处于瞬时态(Transient);2.然后对此对象执行session的save() 或者saveOrUpdate()方法后,此对象被放入session的一级缓存(即map里(key="对象的id" value="对象本身"))进入持久态.3.当再对此对象执行evict()/close()/clear()的操作后此对象进入游离态(Detached)4.游离态(Detached)和瞬时态(Transient)的对象由于没有被session管理会在适当的时机被java的垃圾回收站(garbage)回收.5.执行session的get()/load()/find()/iternte()等方法从数据库里查询的到的对象,处于持久态(Persistent).  7. 当对数据库中的纪录进行update()/saveOrUpdate()/lock()操作后游离态的对象就过渡到持久态  6.处于持久态(Persistent)与游离态(Detached)的对象在数据库中都有对应的记录.7.瞬时态(Transient)与游离态(Detached)的对象都可以被回收可是瞬时态的对象在数据库中没有对应的纪录,而游离态的对象在数据库中有对用的纪录。



Tags:
分享至:
最新图文资讯
1 2 3 4 5 6
验证码:点击我更换图片 理智评论文明上网,拒绝恶意谩骂 用户名:
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 发展历史