Hibernate實用類創建SessionFactory

//通過Configuration的對象調用configure()方法加載Hibernate配置文件創建SessionFactory 由於SessionFactory 的創建費時,所以放在static下面
//讓他只初始化一次最後返回一個SessionFactory 。

//下面是兩種模式的SessionFactory:一種是通過映射文件,一種是通過註解。
public class HibernateUtilMapping {
private static final SessionFactory sessionFactory =buildSessionFactory();

private static SessionFactory buildSessionFactory(){
try {
return new Configuration().configure().buildSessionFactory();
} catch (Throwable ex) {
// TODO Auto-generated catch block
System.err.println("Initial SessionFactory creationfailed."+ex);
throw new ExceptionInInitializerEr
ror(ex); } } public static SessionFactory getSessionFactory(){ return sessionFactory; } public static void closeSession(Session session){ if(session.isOpen()){ session.close(); } } } public class HibernateUtilAnnotation { private static final SessionFactory sessionFactory =buildSessionFactory(); private static SessionFactory buildSessionFactory(){ try { return newAnnotationConfiguration().configure().buildSessionFactory(); } catch (Throwable ex) { // TODO Auto-generated catch block System.err.println("Initial SessionFactory creationfailed."+ex); throw new ExceptionInInitializerError(ex); } } public static SessionFactory getSessionFactory(){ return sessionFactory; } public static void closeSession(Session session){ if(session.isOpen()){ session.close(); } } }

發佈了62 篇原創文章 · 獲贊 36 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章