他们说,在NHibernate中构建会话工厂的成本很高,而且应该只发生一次。我在这方面使用了单例方法。这在第一次请求会话时完成。
我的问题是:会有关闭会话工厂的时候吗?如果是这样,什么时候会这样做呢?
发布于 2009-08-14 13:29:06
这就是我在Java中用Hibernate做的事情:
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;
}
}我想您可以在不再需要SessionFactory时将其释放,但老实说,我从未关闭过我的会话工厂
发布于 2009-12-12 02:02:20
到AZ:这指的是SessionFactory,而不是会话。尽管我不会说应该只有一个SessionFactory实例。每个唯一的配置都应该有一个。例如,如果一个应用程序连接到两个不同的数据库,那么您需要两个不同的SessionFactory实例。
发布于 2009-08-14 13:30:44
不,它和你的程序一起死了,这是好的。
https://stackoverflow.com/questions/1277807
复制相似问题