//通過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
Hibernate實用類創建SessionFactory
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();
}
}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.