zoukankan      html  css  js  c++  java
  • 四、HibernateUtil

    同一个线程的currentSession是同一个。

    使用HibernateUtil可以不去hibernate.cfg.xml配置绑定信息,因为我们在代码里已经将它和本地线程绑定了(线程局部变量模式--一个变量在同一个线程里是同一个)

    public class HibernateUtil {
        private static SessionFactory sessionFactory=null;
        private static ThreadLocal<Session> threadLocal=new ThreadLocal<Session>();
        private HibernateUtil(){
            
        }
        static{
            sessionFactory=new Configuration().configure().buildSessionFactory();
        }
        //获取全新的session
        public static Session openSession(){
            return sessionFactory.openSession();
        }
        //获取和线程关联的session
        public static Session getCurrentSession(){
            Session session=threadLocal.get();
            
            if(session==null){
                session=openSession();
                //把session设置到threadLocal相当于该session已经和线程绑定
                threadLocal.set(session);
            }
            return session;
        }
    }
  • 相关阅读:
    js选项卡
    js 逻辑运算符
    git 标签管理
    git多人协作
    git 分支强制删除
    git bug修复
    DOS命令编译JAVA程序
    JDK的安装与配置
    我在linux的第一个C程序
    看我如何在控制台一行显示几万字符。
  • 原文地址:https://www.cnblogs.com/myz666/p/8423930.html
Copyright © 2011-2022 走看看