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

时间:2012-06-12 11:15:28

标签: 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;
    }
}

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

2 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:0)

这似乎是一个错误,但有一个"已弃用"配置sessionFactory正确关闭:

    Configuration configuration = new Configuration().configure();
    sessionFactory = configuration.buildSessionFactory();