首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Hibernate中的Configuration种和c3p0连接池【转】

2012-08-21 
Hibernate中的Configuration类和c3p0连接池【转】try{ sessionFactory new Configuration().configure().b

Hibernate中的Configuration类和c3p0连接池【转】

    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).config();
    同时还可以指定.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。 关闭Session实例的代码如下:session.close();

热点排行