启网、虚拟主机、域名注册、服务器合租
精致合租、5人、10人、15人服务器合租、freebsd合租
当前位置:站长中国 > Java实例 > Hibernate源码浅析

Hibernate源码浅析

2009 - 01 - 03  作者:  来源:  浏览:560  评论: 发布评论 问高手
推荐:启网 - 专业的主机、服务器合租提供商 17hz.net - 5年服务器合租精品服务
    

  Setting类:数据库,连接池设置的Bean,主要是各种参数的set&get方法。


  


  Environment类:环境参数定义。(常量)


  


  NamingStratgy:命名规则定义的接口。


  


  DefaultNamingStrategy:默认命名规则。(实现NamingStratgy接口)


  


  ImprovedNamingStrategy:改善命名规则。(实现NamingStratgy接口)


  就是加下划线。其中有个addUnderscores()方法。


  private String addUnderscores(String name) {


  StringBuffer buf = new StringBuffer( name.replace('.', '_') );


  for (int i=1; 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类:设置属性类。


  其中有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等。




推荐教程