hibernate 啟動和輔助類實現資源的重複使用

劍握在手發表於2013-12-14
來自API:
1.2.5.  啟動和輔助類

是時候來載入和儲存一些Event物件了,但首先我們得編寫一些基礎的程式碼以完成設定。我們必須啟動Hibernate,此過程包括建立一個全域性的SessoinFactory,並把它儲存在應用程式程式碼容易訪問的地方。SessionFactory可以建立並開啟新的Session。一個Session代表一個單執行緒的單元操作,SessionFactory則是個執行緒安全的全域性物件,只需要被例項化一次。

我們將建立一個HibernateUtil輔助類(helper class)來負責啟動Hibernate和更方便地操作SessionFactory。讓我們來看一下它的實現:

package util;

import org.hibernate.*;
import org.hibernate.cfg.*;

public class HibernateUtil {

    private static final SessionFactory sessionFactory;

    static {
        try {
            // Create the SessionFactory from hibernate.cfg.xml
            sessionFactory = new Configuration().configure().buildSessionFactory();
        } catch (Throwable ex) {
            // Make sure you log the exception, as it might be swallowed
            System.err.println("Initial SessionFactory creation failed." + ex);
            throw new ExceptionInInitializerError(ex);
        }
    }

    public static SessionFactory getSessionFactory() {
        return sessionFactory;
    }

}

相關文章