因为创建SessionFactory会很慢,建一次就行,用static 创建单例即可,以后用到了直接调用即可
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; } }
在JUnit中在类里可以这么写
public static SessionFactory sf = null;
@BeforeClasspublic static void beforeClass(){sf = new AnnotationConfiguration().configue().buildSessionFactory();@Test....类的其他内容@AfterClasspublic static void afterClass(){sf.close();}}