hibernate原理:详解Hibernate的工作原理和体系结构

  1.Hibernate 化.

  读取Hibernate 配置信息-〉创建Session Factory

  1)创建Configeration类例子

  它构造思路方法:将配置信息(Hibernate config.xml)读入到内存

  个Configeration 例子代表Hibernate 所有Java类到Sql数据库映射集合

  2)创建SessionFactory例子

  把Configeration 对象中所有配置信息拷贝到SessionFactory缓存Cache中

  SessionFactory例子代表个数据库存储员源创建后不再和Configeration 对象关联

  缓存Cache(cache):指Java对象属性(通常是些集合类型属性--占用内存空间

  SessionFactory缓存Cache中:Hibernate 配置信息OR映射元数据

  缓存Cache-大:重量级对象 小:轻量级对象

  3)SessionFactory创建Session思路方法

  1】用户自行提供JDBC连接

  Connection con=dataSource.getConnection;

  Session s=sessionFactory.openSession(con);

  2】让SessionFactory提供连接

  Session s=sessionFactory.openSession;

  4)通过Session 接口提供各种思路方法来操纵数据库访问

  Hibernate 缓存Cache体系

  级缓存Cache:

  Session 有个内置缓存Cache其中存放了被当前工作单元加载对象

  每个Session 都有自己独立缓存Cache且只能被当前工作单元访问

   2级缓存Cache:

  SessionFactory外置可插拔缓存Cache插件其中数据可被多个Session共享访问

  SessionFactory内置缓存Cache:存放了映射元数据预定义Sql语句

  Hibernate 中Java对象状态

  1.临时状态 (transient)

  特征:

  1】不处于Session 缓存Cache中

  2】数据库中没有对象记录

  Java如何进入临时状态

  1】通过语句刚创建个对象时

  2】当Session delete思路方法从Session 缓存Cache中删除个对象时

  2.持久化状态(persisted)

  特征:

  1】处于Session 缓存Cache中

  2】持久化对象数据库中设有对象记录

  3】Session 在特定时刻会保持 2者同步

  Java如何进入持久化状态

  1】Session save把临时-持久化状态

  2】Session load,get思路方法返回对象

  3】Session find返回list集合中存放对象

  4】Session update,saveOrupdate使游离-持久化

  3.游离状态(detached)

  特征:

  1】不再位于Session 缓存Cache中

  2】游离对象由持久化状态转变而来数据库中可能还有对应记录

  Java如何进入持久化状态-游离状态

  1】Session close思路方法

  2】Session evict思路方法从缓存Cache中删除个对象提高性能少用

Tags:  字库原理详解 字符编码原理详解 化工原理详解与应用 hibernate原理

延伸阅读

最新评论

发表评论