欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

Hibernate Session Factory,hibernatefactory,[Java]代码impo

来源: javaer 分享于  点击 8727 次 点评:185

Hibernate Session Factory,hibernatefactory,[Java]代码impo


[Java]代码

import org.hibernate.HibernateException;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.cfg.Configuration;public class Proxy {    private static String CONFIG_FILE_LOCATION = "/hibernate.cfg.xml";    private static final ThreadLocal<Session> threadLocal = new ThreadLocal<Session>();    private static Configuration configuration = new Configuration();    private static org.hibernate.SessionFactory sessionFactory;    private static String configFile = CONFIG_FILE_LOCATION;    static {        try {            configuration.configure(configFile);            sessionFactory = configuration.buildSessionFactory();        } catch (Exception e) {            System.err.println("%%%% Error Creating SessionFactory %%%%");            e.printStackTrace();        }    }    private Proxy() {    }    public static Session getSession() throws HibernateException {        Session session = (Session) threadLocal.get();        if (session == null || !session.isOpen()) {            if (sessionFactory == null) {                rebuildSessionFactory();            }            session = (sessionFactory != null) ? sessionFactory.openSession()                    : null;            threadLocal.set(session);        }        return session;    }    public static void rebuildSessionFactory() {        try {            configuration.configure(configFile);            sessionFactory = configuration.buildSessionFactory();        } catch (Exception e) {            System.err.println("%%%% Error Creating SessionFactory %%%%");            e.printStackTrace();        }    }    public static void closeSession() {        Session session = null;        try {            session = (Session) threadLocal.get();            threadLocal.set(null);            if (session != null) {                session.close();            }        } catch (Exception e) {            e.printStackTrace();        } finally {            if (session != null) {                session.close();            }        }    }    public static SessionFactory getSessionFactory() {        return sessionFactory;    }    public static void setConfigFile(String configFile) {        Proxy.configFile = configFile;        sessionFactory = null;    }    public static Configuration getConfiguration() {        return configuration;    }}
相关栏目:

用户点评