Nhibernate 为什么只需要创建SessionFactory的单个实例?

Nhibernate 为什么只需要创建SessionFactory的单个实例?,nhibernate,Nhibernate,我的代码是 static { try { sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory(); } catch (Throwable ex) { System.err.println("Initial SessionFactory creation failed." + ex); throw new ExceptionIn

我的代码是

static {
    try {
        sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();

    } catch (Throwable ex) {
        System.err.println("Initial SessionFactory creation failed." + ex);
        throw new ExceptionInInitializerError(ex);
    }
}
这里我只创建了SessionFactory的一个实例


上面的代码可以正常工作,但为什么我们只创建一个实例?

创建会话工厂的过程代价高昂,性能也很好。使用单个静态会话工厂的性能增益至少是一个数量级。如果您愿意,您当然可以根据每个请求创建一个新工厂,但这样做会非常浪费