一次hibernate sessionFactory创建

时间:2012-07-27 08:06:56

标签: hibernate

我的hibernate查询有问题 SessionFactory sessionFactory = new Configuration()。configure()。buildSessionFactory(); sess = sessionFactory.openSession();  我在每个函数中调用它,我怎么能避免它只创建一个sessionFactory

1 个答案:

答案 0 :(得分:0)

您只需为每个应用程序创建一个实例,存储引用并提供访问它的方法。什么是正确的方式和地点,完全取决于您的应用程序。

这是一种方式:

public final class SessionFactoryProvider {
    private static final SessionFactory sessionFactory;
    static {
        sessionFactory = new Configuration().configure().buildSessionFactory();
    }

    public static SessionFactory getSessionFactory() {
        return sessionFactory;
    }

    private SessionFactoryProvider() {
    }
}

此外,您可能希望添加一些额外的信息收集,并从静态初始化程序块中捕获并重新抛出可能的异常。