Hibernate是java (对象关系映射)ORM管理框架; Hibernate对象就是O--java实体;Hibernate经过对实体的管理在不一样状态之间的转换来实现关系数据库的映射;java
Hibernate对象状态:sql
瞬时状态:Hibernate中没有和Session作关联的对象实例;
数据库
持久化状态:Hibernate中和session关联的对象实例;缓存
游离状态:持久化实例的关联在session关闭以后转台变为了游离状态;
session
注:1,如何理解对象实例和Hibernate Session 关联?(Session生命周期 缓存 事务)
框架
Session的生命周期便随 session开启 事务开启 缓存建立 事务关闭 session关闭;实例关联主要在于缓存(对于缓存的理解不概述,在这里咱们就看作一个Map);对象的关联就是把实例对象进行缓存,想Map中添加一个对象实例的引用,并分配一个ID;spa
//初始化一个对象 HibernateObjectStat stat = new HibernateObjectStat(); //瞬时对象 OC oc = stat.new OC(); //session open tran start Map<String,Object> sessionCacheMap = new HashMap<String, Object>(); // put for session cache //持久化对象 sessionCacheMap.put("KEY", oc); //tran commit,session close,cache remove //游离对象 sessionCacheMap.remove("KEY");
2,关于原生(native)sql session缓存是不起做用的; code