hibernate 启动和辅助类实现资源的重复使用
来自API:
1.2.5. 启动和辅助类
是时候来加载和储存一些Event
对象了,但首先我们得编写一些基础的代码以完成设置。我们必须启动Hibernate,此过程包括创建一个全局的SessoinFactory
,并把它储存在应用程序代码容易访问的地方。SessionFactory
可以创建并打开新的Session
。一个Session
代表一个单线程的单元操作,SessionFactory
则是个线程安全的全局对象,只需要被实例化一次。
我们将创建一个HibernateUtil
辅助类(helper class)来负责启动Hibernate和更方便地操作SessionFactory
。让我们来看一下它的实现:
package util; import org.hibernate.*; import org.hibernate.cfg.*; public class HibernateUtil { private static final SessionFactory sessionFactory; static { try { // Create the SessionFactory from hibernate.cfg.xml sessionFactory = new Configuration().configure().buildSessionFactory(); } catch (Throwable ex) { // Make sure you log the exception, as it might be swallowed System.err.println("Initial SessionFactory creation failed." + ex); throw new ExceptionInInitializerError(ex); } } public static SessionFactory getSessionFactory() { return sessionFactory; } }