hibernate详解(四)SessionFactory与Session的特点

  • Session的特点:

    • Session是线程不安全的,要避免被多个线程所共享,要一个线程对应一个Session对象
    • Session是轻量级的,所谓轻量级,是指它的创建和销毁不需要消耗太多的资源,这意味着在程序中可以经常创建和销毁Session对象,例如:为每个客户请求分配单独的Session对象
    • Session对象中维护了一个缓存,被称为hibernate的一级缓存,它存放被当前程序加载的持久化对象,每个Session对象都有自己的缓存,这个Session对象的缓存只能被当前线程所访问
  • SessionFactory的特点:

    • SessionFactory是线程安全的,SessionFactory对象可以被多个线程共享
    • 是重量级的,创建和销毁该对象很消耗系统资源,一般在应用程序启动初始化的时候取创建该对象
    • SessionFactory对象维护了一个缓存,用来存放预定义的SQL语句,hibernate.cfg.xml以及映射元数据(XML)的内容等。
    • 还提供一个hibernate的二级缓存,需要配置才能使用,该缓存用来存放被程序度过的数据,将来其他的程序可能会重用这些数据,因此这个二级缓存中的数据能被所有的程序所共享。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,778评论 18 399
  • 本文包括: 1、CRM 项目的整体介绍 2、Hibernate 框架概述 3、Hibernate 快速入门 4、H...
    廖少少阅读 3,485评论 9 66
  • Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库...
    兰缘小妖阅读 1,227评论 1 18
  • 这部分主要是开源Java EE框架方面的内容,包括Hibernate、MyBatis、Spring、Spring ...
    杂货铺老板阅读 1,433评论 0 2
  • 近些日子在网络上看到一个句子:后来你新认识了很多朋友再后来你变了。 看到这句话后,我顿时霎感愁伤。回过头来想...
    Prayer沫阅读 612评论 0 3