SSH之Hibernate讀取配置文件工具類

package com.andy.bbs.database.util;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
import org.hibernate.service.ServiceRegistryBuilder;

public class HibernateUtils {
        private static ThreadLocal<Session> thread = new ThreadLocal<Session>();
        private static Configuration configuration;
        private static SessionFactory factory;
        private static ServiceRegistry serviceRegistry;
        static{
                configuration = new Configuration().configure();
                serviceRegistry = new ServiceRegistryBuilder()
        .applySettings(configuration.getProperties())
        .buildServiceRegistry();
                factory = configuration.buildSessionFactory(serviceRegistry);
        }
        /**
         * 獲取session對象
         * @return
         */
        public static Session openSession() {
                
                Session session = thread.get();
                if(session == null) {
                        session = factory.openSession();
                        thread.set(session);
                }
                return session;
        }
        
        /**
         * 關閉session
         */
        public static void closeSession() {
                Session session = thread.get();
                if(session != null) {
                        session.close();
                        thread.set(null);
                }
        }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章