gpt4 book ai didi

java - 返回 Hibernate 4.3 的 SessionFactory Singleton 对象

转载 作者:行者123 更新时间:2023-11-29 03:20:11 31 4
gpt4 key购买 nike

我正在使用 Hibernate 4.3。我正在尝试从 HibernateUtil 类中获取 SessionFactory 对象。我试图为整个应用程序只获取一个 SessionFactory 对象,即应用程序的 Singleton 对象。

下面是我目前的代码,我想把它做成单例类。

HibernateUtil.java

public class HibernateUtil {

private static SessionFactory sessionFactory;
private static StandardServiceRegistry serviceRegistry;

public static SessionFactory getSessionFactory() {
Configuration configuration = new Configuration();
configuration.configure();
serviceRegistry = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()).build();
sessionFactory = configuration.buildSessionFactory(serviceRegistry);
return sessionFactory;
}

}

请为此建议或提供示例代码。谢谢。

最佳答案

只应用单例模式

public class HibernateUtil {

private static StandardServiceRegistry serviceRegistry;
private volatile static SessionFactory INSTANCE = null;

public static SessionFactory getSessionFactory() {
if(INSTANCE==null){
createSessionFactory();
}
return sessionFactory;
}

private synchronized static void createSessionFactory() {
if(INSTANCE!=null){return;}

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

serviceRegistry = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()).build();
INSTANCE = configuration.buildSessionFactory(serviceRegistry);
}
}

编辑:修正了一个逗号拼写错误

关于java - 返回 Hibernate 4.3 的 SessionFactory Singleton 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24155264/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com