Hibernate的一个开发工具(OpenSession()和getCurrentSession())

来源:互联网 发布:驾驭大数据 百度云 编辑:程序博客网 时间:2024/06/05 23:50

在开发Hibernate项目时用到的一个帮助类来获取链接数据库的Session

HibernateUtil.java

package com.hsp.util;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
final public class HibernateUtil {
private static SessionFactory sessionFactory=null;
//使用线程局部模式
//线程和变量相关联
private static ThreadLocal<Session> threadLocal=new ThreadLocal<Session>();
private HibernateUtil(){};
static {
sessionFactory=new Configuration().configure().buildSessionFactory();
}

//获取全新的全新的sesession
public static Session openSession(){
return sessionFactory.openSession();
}
//获取和线程关联的session
public static Session getCurrentSession(){

Session session=threadLocal.get();
//判断是否得到
if(session==null){
session=sessionFactory.openSession();
//把session对象设置到 threadLocal,相当于该session已经和线程绑定
threadLocal.set(session);
}
return session;


}


}

0 0
原创粉丝点击