美文网首页
Hibernate的原理总结部份

Hibernate的原理总结部份

作者: 慕容小伟 | 来源:发表于2018-02-01 22:07 被阅读10次

    1.什么是sessionfactory

    SessionFactory接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。这里用到了工厂模式。

    需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory

    sessionfactory,就是用来创建session会话

    创建一个sessionfactory,一般有两种创建方式,1.从XML文件读取配置信息构建SessionFactory,2.从Java属性文件读取配置信息构建SessionFactory

    在hibernate中的session并不是http中所说的session,一般把HttpSession对象称为用户会话。。。

    而hibernate中的Session呢?是用来表示,应用程序和数据库的一次交互(会话)。在这个Session中,

    包含了一般的持久化方法(CRUD)

    Hibernate的缓存

    Hibernate的缓存包括Session的缓存和SessionFactory的缓存,其中SessionFactory的缓存又可以分为两类:

    内置缓存和外置缓存。Session的缓存是内置的,不能被卸载,也被称为Hibernate的第一级缓存。

    SessionFactory的内置缓存和Session的缓存在实现方式上比较相似,前者是SessionFactory对象的一些

    集合属性包含的数据,后者是指Session的一些集合属性包含的数据。SessionFactory的内置缓存中存放了

    映射元数据和预定义SQL语句,映射元数据是映射文件中数据的拷贝,而预定义SQL语句是在Hibernate初始化阶段根据映射元数据推导出来,

    SessionFactory的内置缓存是只读的,应用程序不能修改缓存中的映射元数据和预定义SQL语句,因此SessionFactory不需要进行内置缓存与

    映射文件的同步。SessionFactory的外置缓存是一个可配置的插件。在默认情况下,SessionFactory不会启用这个插件。外置缓存的数据是数据库数据的拷贝,

    外置缓存的介质可以是内存或者硬盘。SessionFactory的外置缓存也被称为Hibernate的第二级缓存。

    相关文章

      网友评论

          本文标题:Hibernate的原理总结部份

          本文链接:https://www.haomeiwen.com/subject/ltbjzxtx.html