有什么办法可以使我在Hibernate中的数据库连接成为per-session而不是per-request?因为我已经注意到,对于Web应用程序中对我的页面的每个请求,都会重新创建“休眠配置”,这可能会影响性能。

最佳答案

您应该保留相同的SessionFactory而不重新创建一个。因此,您需要使其静态。

范例:

public class HibernateUtils{
    private static SessionFactory session;

    private static void createSession(){
        sessionFactory = new Configuration().configure().buildSessionFactory();
    }
    public static Session getSession(){
         if(session == null)
             createSession()
         return session.openSession();
    }
}


当您调用“ HibernateUtils.getSession()”时,仅当会话不存在时才创建会话

当然,您需要在需要时关闭会话

关于java - hibernate :更改 hibernate 连接,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41322394/

10-11 10:28