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

时间:2009-10-28 06:35:09

标签: nhibernate

我的代码是

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

    } catch (Throwable ex) {
        System.err.println("Initial SessionFactory creation failed." + ex);
        throw new ExceptionInInitializerError(ex);
    }
}

这里我只创建了SessionFactory的单个实例

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

1 个答案:

答案 0 :(得分:3)

创建会话工厂的过程非常昂贵,性能明智。使用单个静态会话工厂的性能提升至少是一个数量级。如果你愿意,你当然可以在每个请求上创建一个新工厂,但这样做会非常浪费。