注册 | 登录 忘记密码? 51cto首页 | 博客 | 论坛 | 招聘
热点文章 QoS流量的分类和标记
 帮助

Hibernate学习笔记---Configuration(由于忙,此文暂不更新,)


2007-11-21 05:40:33
 标签:Hibernate   [推送到技术圈]

版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://973007.blog.51cto.com/100031/51581
不免俗话:"准备写个hibernate学习笔记系列,主要是针对Hibernate3.0源码的学习"
只是个人学习里程的点滴记录,会根据自己的渐进的学习不断修改欢迎您拍砖指点^_^
 
_____________________________________________________________________________
说明:  序号表示顺序,如1 ,如果  是1.1 那么表示此项位于1内....
 
首先,回忆一下Hibernate使用方法,
Configuration config=new Configuration().configure();
SessionFactory sessionFactory=config.buildSessionFactory();
如果你用的IDE是MyEclipse,在加入Hibernate支持时,可以发现可以选择覆盖SessionFactory.
决定就看这两个类和MyEclipse生成的SessionFactory
迷惑在是直接进入底层还是全局,根据基本用法直接深入代码吧,直到能看清全局,再把思路整理出来..
如果想先全局了解Hibernate,请自行查阅相关文章以及书籍
建议直接逆向,看几天类图 = . =~~~~~~~~~~~
 
首先看Hibernate的Configuration....,看代码去了.....2000行..疯了 - - ~
今晚补上内容~
___________________________________________________
补上
 Configuration config=new Configuration().configure();
         很不理解这种写法,是为了单纯执行configure()这个方法?
       为什么不分开写呢?
 Configuration config=new Configuration();
 config.configure(); 
_________________________________________________
 1        new Configuration()  
            1.1 调用重载的构造函数初始化SettingFactory ,此时SettingFactory并无动静,初始化完毕后
            1.2 调用reset(),初始化,也就是把配置文件相应映射匹配对象初始化,截取一些,此时并没有去加载配置,只是在加载配置文件做好准备........
 
2           .configure();
方法内部:                           
            2.1  configure( "/hibernate.cfg.xml" );  //调带参的同名方法,当然你也可以传自定义的配置文件名..
                   return this;   //这里就是没分开的写法,直接返回个this..Configuration config=new Configuration().configure();
  其实还有其他的重载如.configure(URL url),configure(File url) ,但最终调用3-->
3        doConfigure(InputStream stream, String resourceName)             
     ,          在此方法里,利用org.hibernate.util.xmlHelper,在底层借助DOM4J返回Document,
参考DOM4J,此时已经加载为Document  然后利用这个Document调用       4-->    
4         doConfigure(org.dom4j.Document doc)
      这里是关键,也就是加载配置了,主要分两部 ,也就是
                  4.1     Element sfNode = doc.getRootElement().element( "session-factory" ); 
                            Element secNode = doc.getRootElement().element( "security" );
              如果分别有此以上两个节点,解析相应的.
            这里我们先关注解析  session-factory
                  4.2 addProperties( sfNode );
                        parseSessionFactory( sfNode, name );
---------------------------------------暂时写到这---------------------------------------
       其实最重要的是他如何解析, <mapping resource="xxx/xxx/xxxxxx.xml" />
当然全局配置也很关键,明天看看他是怎么处理全局配置的
 
             
             
            
 
 
 
 

本文出自 “Pure 纯粹--热衷于技术,能自拔而不想” 博客,请务必保留此出处http://973007.blog.51cto.com/100031/51581





    文章评论
 
2007-11-21 22:55:01
以后我也要记录啦

 

发表评论

昵   称:
验证码:  点击图片可刷新验证码  博客过2级,无需填写验证码
内   容: