HibernateInit

王朝java/jsp·作者佚名  2006-01-09
宽屏版  字体: |||超大  

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;

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有