HibernateUtil.java
上传用户:zghglow
上传日期:2022-08-09
资源大小:27227k
文件大小:1k
源码类别:

WEB源码(ASP,PHP,...)

开发平台:

JavaScript

  1. package com.chinacannel.common;
  2. import net.sf.hibernate.*;
  3. import net.sf.hibernate.cfg.*;
  4. import org.apache.log4j.Logger;
  5. public class HibernateUtil {
  6.     private static Logger log = Logger.getLogger(HibernateUtil.class);
  7.     private static final SessionFactory sessionFactory;
  8.     static {
  9.         try {
  10.             Configuration cfg=new Configuration().configure();
  11.             sessionFactory = cfg.buildSessionFactory();
  12.         } catch (HibernateException ex) {
  13.         //    throw new RuntimeException("Exception building SessionFactory: " + ex.getMessage(), ex);
  14.         log.error(ex.getMessage());
  15.             throw new RuntimeException("Exception building SessionFactory: " + ex.getMessage());
  16.             /**@todo fatal log*/
  17.         }
  18.     }
  19.     public static final ThreadLocal session = new ThreadLocal();
  20.     public static Session currentSession() throws HibernateException {
  21.         Session s = (Session) session.get();
  22.         // Open a new Session, if this Thread has none yet
  23.         if (s == null) {
  24.             s = sessionFactory.openSession();
  25.             session.set(s);
  26.         }
  27.         return s;
  28.     }
  29.     public static void closeSession() throws HibernateException {
  30.         try {
  31.           Session s = (Session) session.get();
  32.           session.set(null);
  33.           if (s != null) {
  34.             s.close();
  35.           }
  36.         }
  37.         catch (Exception ex) {
  38.           ex.printStackTrace();
  39.         }
  40.     }
  41. }