Hibernate常用的接口和类---SessionFactory类和作用

Posted NEWHOM

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hibernate常用的接口和类---SessionFactory类和作用相关的知识,希望对你有一定的参考价值。

是一个生成Session的工厂类

特点:

  1.由Configuration通过加载配置文件创建该对象。

SessionFactory factory = config.buildSessionFactory();

  2.SessionFactory对象中保存了当前的数据库配置信息和所有映射关系以及预定义的SQL语句。同时,SessionFactory还负责维护Hibernate的二级缓存。

  3.一个SessionFactory实例对应一个数据库,应用从该对象获得Session实例。

  4.SessionFactory是线程安全的,意味着它的一个实例可以被应用的多个线程共享。

  5.SessionFactory是重量级的,意味着不能随意创建和销毁它的实例,如果只需要创建一个数据库对象,只需要创建一个SessionFactory实例,且在应用初始化的时候完成。

  6.SessionFactory需要一个较大的缓存,用来存放预定义的SQL语句及实体的映射信息,另外可以配置一个缓存插件,这个插件被称为Hibernate的二级缓存,被多个线程共享。

总结:

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

SessionFactory工具类:

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public class HibernateUtils {
    private static final Configuration CONFIG;
    private static final SessionFactory FACTORY;
    
    static{
        //加载配置文件
        CONFIG = new Configuration().configure();
        
        //生成SessionFactory
        FACTORY = CONFIG.buildSessionFactory();
    }
    
    //获取Session对象
    public static Session openSession(){
        return FACTORY.openSession();
    }
}




以上是关于Hibernate常用的接口和类---SessionFactory类和作用的主要内容,如果未能解决你的问题,请参考以下文章

Hibernate常用的接口和类---SessionFactory类和作用

hibernate---简介

java.lang.NoSuchMethodError: org.hibernate.SessionFactory.openSession()Lorg/hibernate/classic/Sessio

Hibernate问题浅析

Spring常用接口和类

Java教程之JDBC中的常用接口和类