hibsessionfactory.java

来自「java 实现了oa办公系统。java 实现了oa办公系统」· Java 代码 · 共 44 行

JAVA
44
字号
package db;

import net.sf.hibernate.HibernateException;
import net.sf.hibernate.Session;
import net.sf.hibernate.SessionFactory;
import net.sf.hibernate.cfg.Configuration;

/**
 * @author BWeiMing
 *
 */
public class HibSessionFactory{

    private static SessionFactory sf=null;
    public static final ThreadLocal session = new ThreadLocal();

    private HibSessionFactory() {
    }

    private static SessionFactory getSession() throws HibernateException {
        if (sf == null) {
            return new Configuration().configure().buildSessionFactory();
        }else{
            return sf;
        }
    }

    public static Session currentSession() throws HibernateException {
        Session s = (Session) session.get();
        if (s == null) {
            s = HibSessionFactory.getSession().openSession();
            session.set(s);
        }
        return s;
    }

    public static void closeSession() throws HibernateException {
        Session s = (Session) session.get();
        session.set(null);
        if (s != null)
            s.close();
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?