我在我的包中找到了一个HibernateUtil
类,它包含了一个未知的语法。我不知道它是什么以及它是如何工作的:
public class HibernateUtil {
private static final SessionFactory sessionFactory;
//???
static {
try{
//Create the SessionFactory from standard config file (hibernate.cfg.xml)
Configuration configuration = new Configuration().configure();
StandardServiceRegistryBuilder builder = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties());
sessionFactory = configuration.buildSessionFactory(builder.build());
}catch (Throwable ex){
//Log the Exception
System.err.println("Initial SessionFactory creation failed: "+ ex);
throw new ExceptionInInitializerError(ex);
}
}
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
}
答案 0 :(得分:0)
正如它所说,它是一个带有static
块的实用程序类。
此课程确保为您的课程准备好会话。您可以使用它来处理会话以处理数据库。
静态块确保在类加载器将类加载到JVM中时运行它。以下是JLS Static Block
的更多内容答案 1 :(得分:0)
这是Hibernate SessionFactory单例类。它在Class加载时创建SessionFactory对象。它从您的src文件夹中的Hibernate.cfg.xml文件中读取数据库属性。
每当你想要一个SessionFactory对象时,只需调用它的实例方法,如下所示:
HibernateUtil.getSessionFactory();