ThreadLocal 在 Hibernate 中的应用

   1.  public static final ThreadLocal session = new ThreadLocal();     
   2. public static Session currentSession() throws HibernateException {     
   3.        Session s=(Session)session.get();     
   4.        //打开一个新的session,如果这个线程还不存在的话     
   5.        if(s==null) {     
   6.              s=sessionFactory.openSession();     
   7.              session.set(s);     
   8.        }     
   9.        return s;     
  10. }

        通过一个ThreadLocal对象为每个单独的线程保存并使用一份自己的Session。这就ThreadLocal所起到的作用,为每一个线程保存一份独立的变量副本。在本例中通过ThreadLocal实现了并发访问并使用了单例模式。

你可能感兴趣的:(Hibernate)