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。