Hibernate:我们究竟需要关闭SessionFactory对象

Paw*_*wan 3 hibernate sessionfactory

我正在为我的应用程序使用Hibernate 3版本.

在浏览Hibernate的教程时,我发现SessionFactory应该只为应用程序创建一次.所以为此,我决定在类中使用静态块,并使用静态方法返回如图所示.

public class SessionFactoryInitiliaztion {
    static {
        try {
            sessionFactory = new Configuration().configure().buildSessionFactory();
        } catch (Exception x) {
            x.printStackTrace();
        }
    }

    public static SessionFactory getSessionFactory() {
        return sessionFactory;
    }
}
Run Code Online (Sandbox Code Playgroud)

我究竟需要在哪里关闭这个sessionFactory对象,以便它重新调用内存?

Joh*_*ane 5

我想不出有什么理由(随便)为什么你想要在应用程序存在时关闭会话工厂,所以我不会太在意回收内存.当你的应用程序关闭时我会关闭它.

  • 好吧,在servlet destroy方法中,假设你只有一个servlet而且它没有被池化.更好的选择是使用ServletContextListener (3认同)