hibernate的工具类

package cn.itcast.tool.hibernate.util;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public final class HibernateUtil {
    
    private static SessionFactory sessionFactory;
    private static ThreadLocal<Session> threadLocal=new ThreadLocal<Session>();;
    private HibernateUtil(){
    }
    
    static{
        sessionFactory=new Configuration().configure().buildSessionFactory();
    }
    
    public static SessionFactory getSessionFactory(){
        return sessionFactory;
    }
    
    public static Session getSession(){
        Session session=threadLocal.get();
        if(session==null || !session.isOpen()){
            session=sessionFactory.openSession();
            threadLocal.set(session);
        }
        return session;
    }
    
    public static void closeCurrentSession(){
        Session session=threadLocal.get();
        if(session!=null){
            session.close();
            threadLocal.set(null);
        }
    }

}

 

posted @ 2016-10-19 14:22  guodaxia  阅读(87)  评论(0编辑  收藏  举报