熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java開源技術 >> 正文

Hibernate源碼淺析

2022-06-13   來源: Java開源技術 

  Setting類數據庫連接池設置的Bean主要是各種參數的set&get方法
  
  Environment類環境參數定義(常量)
  
  NamingStratgy:命名規則定義的接口
  
  DefaultNamingStrategy:默認命名規則(實現NamingStratgy接口)
  
  ImprovedNamingStrategy改善命名規則(實現NamingStratgy接口)
  就是加下劃線其中有個addUnderscores()方法
  private String addUnderscores(String name) {
  StringBuffer buf = new StringBuffer( namereplace( _) );
  for (int i=; i  if (
  '_'!=buf.charAt(i-1) &&
  Character.isUpperCase( buf.charAt(i) ) &&
  !Character.isUpperCase( buf.charAt(i+1) )
  ) {
  buf.insert(i++, '_');
  }
  }
  return buf.toString().toLowerCase();
  }
  按大寫分開,加上"_",然後返回小寫的toString();
  
  SettingFactory類:設置屬性類。tw.winGwit.COm
  其中有buildSettings(Properties properties)方法,設置自定義屬性。
  
  Mapping類:有點不清楚。
  設置類和表之間的映射。class 進去,table出來。:)(了解不清晰。)
  
  Binding類:PO和數據庫中表及其之間的映射的綁定。
  Configuration類,配置類
  Configuration()構建器,調用reset(),重置參數。
  還有addClass(),addFile(),add(document.nbsp;doc) ,addDirectory(),addJar(),addInputString(),addResoure()等一系列方法,通過不同的資源進行配置。
  
  還有通過不同參數重構了許多configure()方法。
  configure()通過hibernate.cfg.xml配置。
  /**
  * Use the mappings and properties specified in an application
  * resource named hibernate.cfg.xml.
  */
  public Configuration configure() throws HibernateException {
  configure("/hibernate.cfg.xml");
  return this;
  }
  然後比較重要的是生成SessionFactory;
  public SessionFactory buildSessionFactory() throws HibernateException {
  secondPassCompile();
  validate();
  Environment.verifyProperties(properties);
  Properties copy = new Properties();
  copy.putAll(properties);
  Settings settings = buildSettings();
  configureCaches(settings);
  return new SessionFactoryImpl(this, settings);
  }
  
  其他的一些就是通過配置文件設置各種屬性。比如數據庫方言Dialect等。

From:http://tw.wingwit.com/Article/program/Java/ky/201311/28334.html
  • 上一篇文章:

  • 下一篇文章:
  • 推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.