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;   } }  
 
  |