Hibernate中的Configuration类

Configuration类用来管理我们的配置文件的信息的,通过它,我们可以通过创建一个configuration实例来管理相应的配置文档,但是通常我们只创建一个configuration实例。

下面是一个通用的创建实例的代码

Java代码

1.try{

2.sessionFactory=newConfiguration().configure().buildSessionFactory();

3.}catch(HibernateExceptione){

4.thrownewRuntimeException(e.getMessage,e);

5.}

try{

sessionFactory=newConfiguration().configure().buildSessionFactory();

}catch(HibernateExceptione){

thrownewRuntimeException(e.getMessage,e);

}

在这里,我们看到:要创建一个Configuration,可以使用

Configurationconfig=newConfiguration().configure();

这里我们要明白的是,Configuration是入口,通过它来获得配置文件。

同时Configuration还可以通过指定参数来传递:

下面看:

Filefile=newFile("c:\\Hibernate.xml");

Configurationconfig=newConfiguration().config(file);

同时,Configuration还有一些比较重要的方法:

addProperties();

setProperties();

下面看一下例子:

Propertiesproperties=Porperties.load("a.properties");

Configurationconfigure=newConfiguration().setProperties(properties).config();

同时还可以指定.hbm.xml文件,下面是几种方法:

addClass();

addFile();

addURL();

下面看一下例子:

Configurationconfigure=newConfiguration().addClass(Order.class);

Configurationconfigure=newConfiguration().addURL(Configuration.class.getResource(Order.hbm.xml));

Configurationconfigure=newConfiguration().addFile("Order.hbm.xml");

下面简单的看一下SessionFactory类

首先看一下代码

Configurationconfigure=newConfiguration().configure();

SessionFactorysessions=configure.buildSessionFactory();

这里要说明的是,SessionFactory是线程安全的,可以被多个线程调用。在我们实际开发中,我们可以在初始化的部分构造一个SessionFactory即可,比如,在一个公共静态类中初始化一个SessionFactory的readonly常量等等。它充当数据存储源的代理。这里用到了工厂模式。需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。

相关推荐