论坛首页 Java企业应用论坛

提问,关于sessionFactory

浏览 6675 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2003-09-15  
我用的是tomcat,我想在启动tomcat时就能把*.hbm.xml解析了,构建出SessionFacotry,有没有详细的配置文档和实现方法?谢谢
   发表时间:2003-09-15  
① net.sf.hibernate.SessionFactory
        经过编译、线程安全的映射缓存,用来产生会话的工厂,ConnectionProvider对象的客户
        创建SessionFactory的过程比较重要,下面详细讨论:
        让我们从几个创建SessionFactory的途径说开去,主要有三种途径可以创建一个会话工厂,因为SessionFactory是由net.sf.hibernate.cfg.Configuration的实例对象创建的,所以三种途径也是实例化Configuration的途径。
        ⑴ 通过xml mapping来创建
             Configuration cfg = new Configuration()
.addFile("Users.hbm.xml")
.addFile("Record.hbm.xml");
           ⑵ 通过class创建
          Configuration cfg = new Configuration()                 .addClass(com.ifreeway.homegrown.testing.persistence.Users.class) .addClass(com.ifreeway.homegrown.testing.persistence.Record.class);
         调用后,Hibernate会自动在CLASSPATH中寻找名字为/com/ifreeway/homegrown/testing/persistence/Users.hbm.xml和/com/ifreeway/homegrown/testing/persistence/Record.hbm.xml的映射文件。这种方法消除了所有硬编码的文件名称。
     (这样也有一个不足的地方,就是xml mapping要和对应的class放在同一个包中)
        (前两种方法都离不开hibernate.properties,这个文件要放在classpath中)
       ⑶ 通过hibernate.cfg.xml创建
      这个方法就是我们在测试工具由使用的方法。
      configuration=(new Configuration()).configure(configFileURL);
      // configFileURL为hibernate.cfg.xml的地址,它的类型为 java.net.URL
    
      好了,上边说明了创建Configuration的三种途径,那么如何得到SessionFactroy的实例呢?很简单,如下:
      SessionFactory sf= cfg.buildSessionFactory();
      Hibernate也允许你的应用程序实例化多个SessionFactory,这种特性在你使用多个数据库时,将非常有用。

上边截取自我为公司同事介绍hibernate时写的一篇文档,不足之处还请指出。
0 请登录后投票
   发表时间:2003-09-15  
zhenglinxi 写道
我用的是tomcat,我想在启动tomcat时就能把*.hbm.xml解析了,构建出SessionFacotry,有没有详细的配置文档和实现方法?谢谢


你看一下我在原理版写的一篇Hibernate的JNDI代码分析,在Tomcat中,你只需要配置初始化Hibernate的Servet load-up =1 就可以了。
0 请登录后投票
   发表时间:2003-09-15  
Hibernate网站文档有你要的答案:

http://www.hibernate.org/114.html
0 请登录后投票
   发表时间:2003-09-15  
robbin 写道
Hibernate网站文档有你要的答案:

http://www.hibernate.org/114.html


非常感谢
0 请登录后投票
   发表时间:2006-12-06  
正在研究中,谢谢了
0 请登录后投票
   发表时间:2006-12-06  
在web.xml文件中加入以下代码
<servlet>
    <servlet-name>startup</servlet-name>
    <servlet-class>com.***.StartUpImpl</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
然后由这个类调用要启动的类,
通常把要起动的类写于一个文件,然后通过起动类把文件中的类都初始化,如一些xml文件解析等公用的东西
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics