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的一个实例
上面的代码可以正常工作,但为什么我们只创建一个实例?创建会话工厂的过程代价高昂,性能也很好。使用单个静态会话工厂的性能增益至少是一个数量级。如果您愿意,您当然可以根据每个请求创建一个新工厂,但这样做会非常浪费