【Hibernate】——对象持久化状态

时间:2022-10-21 08:20:19

 前言

    在之前的那篇博客中有对Hibernate进行概述,其中一个很重要的特性就是持久化,对于持久化这里做了一点小研究,所以来总结总结。


持久化

     在日常生活中,我们都会有一些方法来保持食物的新鲜,如速冻水饺,水果罐头,鲜肉冷藏,这些都是日常持久化的例子。


     在我们平时的计算机和手机的使用中也有很多持久化的例子,如我们关闭应用程序后,再打开,会发现之前的数据都还在,如关闭QQ后,再打开,我们的用户名和密码不用重新输入就都还在。在手机,如我们关闭微信等应用软件后,再打开,我们的用户信息、联系人什么都还在,这些也是持久化的例子。


     所以在这里总结一下持久化:持久化就是在一定周期内保持不变。


Hibernate对象持久化的三种状态

    瞬时对象(Transient Objects):使用new操作符初始化的对象不是立刻就持久的。它们的状态是瞬时的,也就是说它们没有任何跟数据库表相关联的行为,只要应用不再引用这些对象(不再被任何其它对象所引用),它们的状态将会丢失,并由垃圾回收机制回收。


    持久化对象(Persist Objects):持久事例是任何具有数据库标识的实例。它有持久化管理器Session统一管理,持久实例是在事务中进行操作的——他们的状态在事务结束时间数据库进行同步。当事务提交时,通过执行SQL的INSERT、UPDATE和DELETE语句把内存中的状态同步到数据库中。


    离线对象(Datached Objects):Session关闭之后,持久化对象就变为离线对象。离线表示这个对象不能再与数据库保持同步,它们不再受Hibernate管理。


Hibernate持久化的生命周期

【Hibernate】——对象持久化状态



总结

    对于Hibernate的对象持久化状态也算是有了一定了解,接下来将会对Hibernate的CRUD操作进行总结。