首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Hibernate适用类创建SessionFactory

2012-10-31 
Hibernate实用类创建SessionFactory通过Configuration的对象调用configure()方法加载Hibernate配置文件创

Hibernate实用类创建SessionFactory
通过Configuration的对象调用configure()方法加载Hibernate配置文件创建SessionFactory 由于SessionFactory 的创建费时,所以放在static下面
让他只初始化一次最后返回一个SessionFactory 。

下面是两种模式的SessionFactory:一种是通过映射文件,一种是通过注解。
/**
* 创建hibernate使用工具类(使用映射文件)
* @author xiaolee
*
*/
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 creation failed."+ex);
throw new ExceptionInInitializerError(ex);
}
}

public static SessionFactory getSessionFactory(){
return sessionFactory;
}

public static void closeSession(Session session){
if(session.isOpen()){
session.close();
}
}
}

/**
* 创建hibernate使用工具类(使用注解)
* @author xiaolee
*
*/
public class HibernateUtilAnnotation {

private static final SessionFactory sessionFactory = buildSessionFactory();

private static SessionFactory buildSessionFactory(){
try {
return new AnnotationConfiguration().configure().buildSessionFactory();
} catch (Throwable ex) {
// TODO Auto-generated catch block
System.err.println("Initial SessionFactory creation failed."+ex);
throw new ExceptionInInitializerError(ex);
}
}

public static SessionFactory getSessionFactory(){
return sessionFactory;
}

public static void closeSession(Session session){
if(session.isOpen()){
session.close();
}
}
}

热点排行