package com;import net.sf.hibernate.SessionFactory;import net.sf.hibernate.cfg.Configuration;
import javax.naming.InitialContext;
/** * 说明:hibernate初始化类,如果是运行期,将从上下文中取得sessionFactory * * 2004-8-4 */public class HibernateInit { private static HibernateInit instance= null; private static SessionFactory sessionFactory; //运行类型是服务器运行还是单元测试,如果是单元测试,设置其参数值为junit private static String runType= "web";
public static void setRunType(String type) { runType= type; } public synchronized static HibernateInit getInstance() { if (instance == null) { instance= new HibernateInit(); } return instance; }
private HibernateInit() { initSessionFactory(); }
private void initSessionFactory() { Configuration conf; try { if (runType != null && runType.equalsIgnoreCase("junit")) { java.net.URL configFileURL= GenerateDataBaseUtil.class.getResource("/hibernate_GenerateDB.cfg.xml"); conf= (new Configuration()).configure(configFileURL); sessionFactory= conf.buildSessionFactory(); } else { InitialContext ctx= new InitialContext(); sessionFactory= (SessionFactory) ctx.lookup("hibernate/session_factory"); } } catch (Exception e) { e.printStackTrace(); } }
public SessionFactory getSessionFactory() { return sessionFactory; }}
HibernateInit
80酷酷网 80kuku.com