3

我正在为我的 Application 使用 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;
    }
}

我究竟需要在哪里关闭这个sessionFactory对象,以便它转售内存?

4

2 回答 2

5

我想不出任何理由(临时)为什么要在应用程序存在时关闭会话工厂,所以我不会太担心回收内存。当您的应用程序关闭时,我会关闭它。

于 2012-06-12T11:26:12.610 回答
0

这似乎是一个错误,但是使用“弃用”配置, sessionFactory 会正确关闭:

    Configuration configuration = new Configuration().configure();
    sessionFactory = configuration.buildSessionFactory();
于 2014-02-17T21:49:39.780 回答