Java中使用Hibernate系列之启动方法学习(第二节)

时间:2022-04-29
本文章向大家介绍Java中使用Hibernate系列之启动方法学习(第二节),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

有了第一节的学习,我们就可以加载和储存一些Event对象了,但在加载和储存前需要一些基本的设置来启动Hibernate,在Hibernate启动过程中包括要创建一个全局的SessoinFactory,并把它储存在应用程序代码容易访问的地方;SessionFactory可以创建并打开新的Session;一个Session代表一个单线程的单元操作,SessionFactory则是个线程安全的全局对象,只需要被实例化一次。

网络配图

我们将创建一个HibernateUtil辅助类(helper class)来负责启动Hibernate和更方便地操作SessionFactory。

代码实现如下:

package util;
import org.hibernate.*;
import org.hibernate.cfg.*;
public class HibernateUtil {
private static final SessionFactory sessionFactory;
static {
try {
// 创建一个 SessionFactory
sessionFactory = new Configuration().configure().buildSessionFactory();
} catch (Throwable ex) {
throw new ExceptionInInitializerError(ex);
}
}
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
}

网络配图

这个类是在它的静态初始化过程(仅当加载这个类的时候被JVM执行一次)中产生全局的SessionFactory。把HibernateUtil.java放在开发目录的源代码路径下,为方便使用要与放events的包并列:

.

+lib

<Hibernate and third-party libraries>

+src

+events

Event.java

Event.hbm.xml

+util

HibernateUtil.java

hibernate.cfg.xml

+data

网络配图

好了,这一节的学习先到这里,后面章节中会继续学习Hibernate。我们学习方式是每一节学习一个知识点(每天花10分钟学习)。