Hibernate SessionFactory单例模式

Hibernate SessionFactory具有以下特点:

  1. 它是线程安全的,它的同一个实例能够供多个线程使用。
  2. 它是重量级的,不能随意地创建和销毁它的实例。

    由于SessionFactory的以上特点,一般情况下,一个项目中只需要一个SessionFactory,只有当应用存在多个数据源时,才为每个数据源创建一个SessionFactory实例。因此,在实际项目使用中,通常会抽取出一个HibernateUtils的工具类,用来提供Session对象。

package org.hrbust.utils;

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{
		//加载XML配置文件
		CONFIG = new Configuration().configure();
		//构建工厂
		FACTORY = CONFIG.buildSessionFactory();
	}
	
	//从工厂中获得session对象
	public Session getSession(){
		return FACTORY.openSession();
	}
}

你可能感兴趣的:(Hibernate SessionFactory单例模式)