现在我已经这样做了:
/// <summary>
/// Disposing connection to database.
/// </summary>
public void Dispose()
{
if (_sessionFactory != null)
_sessionFactory.Dispose();
if(_session != null)
_session.Dispose();
_sessionFactory = null;
_session = null;
}
要将Connection部署到数据库,这是错误的吗?我应该只处理会话并将其设置为null并让sessionfactory“活着”吗?
答案 0 :(得分:2)
SessionFactory是一个非常昂贵的对象,应该在应用程序生命周期中创建一次。
因此,如果您已完成应用程序,或者您知道在应用程序的生命周期内不需要连接到数据库,则可以处理工厂。否则就让它重复使用。
另一方面,Session是一个轻量级对象,可以通过SessionFacotry轻松创建。长寿会议可能会导致内存泄漏。