sessionFactory是重量级的,通常我们在一个单数据源的应用里,只需要一个sessionFactory,所以我们一般采用单例的模式来处理,但是不是说sessionFactory这个类是单例的。这个是我们自己去实现的
比如myeclipse自动生成的HibernateSessionFactory private static org.hibernate.SessionFactory sessionFactory; static { try { configuration.configure(configFile); sessionFactory = configuration.buildSessionFactory(); } catch (Exception e) { System.err .println("%%%% Error Creating SessionFactory %%%%"); e.printStackTrace(); } } public static Session getSession() throws HibernateException { Session session = (Session) threadLocal.get(); if (session == null || !session.isOpen()) { if (sessionFactory == null) { rebuildSessionFactory(); } session = (sessionFactory != null) ? sessionFactory.openSession() : null; threadLocal.set(session); } return session; } |
|