你的位置:首页 > 软件开发 > Java > Java三大框架之——Hibernate中的三种数据持久状态和缓存机制

Java三大框架之——Hibernate中的三种数据持久状态和缓存机制

发布时间:2016-11-25 02:00:09
Hibernate中的三种状态  瞬时状态:刚创建的对象还没有被Session持久化、缓存中不存在这个对象的数据并且数据库中没有这个对象对应的数据为瞬时状态这个时候是没有OID。     持久状态:对象经过Session持久化操作,缓存中存在这个对象的数据为持久状态并 ...

Java三大框架之——Hibernate中的三种数据持久状态和缓存机制

Hibernate中的三种状态

    瞬时状态:刚创建的对象还没有被Session持久化、缓存中不存在这个对象的数据并且数据库中没有这个对象对应的数据为瞬时状态这个时候是没有OID。   

  持久状态:对象经过Session持久化操作,缓存中存在这个对象的数据为持久状态并且数据库中存在这个对象对应的数据为持久状态这个时候有OID

  游离状态:当Session关闭,缓存中不存在这个对象数据而数据库中有这个对象的数据并且有OID为游离状态。

  注:OID为了在系统中能够找到所需对象,我们需要为每一个对象分配一个唯一的表示号。在关系数据库中我们称之为关键字,而在对象术语中,则叫做对象标识

(Object identifier-OID).通常OID在内部都使用一个或多个大整数表示,而在应用程序中则提供一个完整的类为其他类提供获取、操作。

  Hibernate数据状态图:

    Java三大框架之——Hibernate中的三种数据持久状态和缓存机制

 

需要注意的是:

 

      当对象的临时状态将变为持久化状态。当对象在持久化状态时,它一直位于 Session 的缓存中,对它的任何操作在事务提交时都将同步到数据库,因此,对一个已经持久的对象调用 save() 或 update() 方法是没有意义的。  

Student stu = new Strudnet();stu.setCarId(“200234567”);stu.setId(“100”);// 打开 Session, 开启事务//将stu对象持久化操作session.save(stu);stu.setCardId(“20076548”);//再次对stu对象进行持久化操作session.save(stu); // 无效session.update(stu); // 无效// 提交事务,关闭 Session

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:Java三大框架之——Hibernate中的三种数据持久状态和缓存机制

关键词:JAVA

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。