Hibernate SessionFactory


SessionFactory是工厂类,是生成Session对象的工厂类。


一、SessionFactory类的特点      

  • 由Configuration通过加载配置文件创建该对象。
  • SessionFactory对象中保存了当前的数据库配置信息和所有映射关系以及预定义的SQL语句。同时,SessionFactory还负责维护Hibernate的二级缓存。
  • 预定义SQL语句
   使用Configuration类创建了SessionFactory对象是,已经在SessionFacotry对象中缓存了一些SQL语句,常见的SQL语句是增删改查(通过主键来查询),这样做的目的是效率更高      
  • 一个SessionFactory实例对应一个数据库,应用从该对象中获得Session实例。
  • SessionFactory是重量级的,意味着不能随意创建或销毁它的实例。如果只访问一个数据库,只需要创建一个SessionFactory实例,且在应用初始化的时候完成。
  • SessionFactory需要一个较大的缓存,用来存放预定义的SQL语句及实体的映射信息。另外可以配置一个缓存插件,这个插件被称之为Hibernate的二级缓存,被多线程所共享

二、使用SessionFactory注意事项

一般应用使用一个SessionFactory,最好是应用启动时就完成初始化。