首页 > 代码库 > Hibernate中的Configuration类

Hibernate中的Configuration类

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

Java代码  
try{
  sessionFactory
= new Configuration().configure().buildSessionFactory(); }catch(HibernateException e){

  throw new RuntimeException(e.getMessage,e); }

 

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

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

 

这里我们要明白的是,Configuration是入口,通过它来获得配置文件。
同时Configuration还可以通过指定参数来传递:
下面看:

File file = new File("c:\\Hibernate.xml"); 
Configuration config = new Configuration().config(file); 

 

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

addProperties(); 
setProperties(); 

 

下面看一下例子:

Properties properties = Porperties.load("a.properties"); 
Configuration configure = new Configuration().setProperties(properties); 

 

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

addClass(); 
addFile(); 
addURL(); 

 

下面看一下例子:

Configuration configure = new Configuration().addClass(Order.class); 
Configuration configure = new Configuration().addURL(Configuration.class.getResource(Order.hbm.xml)); 
Configuration configure = new Configuration().addFile("Order.hbm.xml"); 

 

下面简单的看一下SessionFactory类
首先看一下代码

Configuration configure = new Configuration().configure(); 
SessionFactory sessions = configure.buildSessionFactory(); 

 

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

转载自:【http://jnotnull.iteye.com/blog/153625】