Setting類
Environment類
NamingStratgy:命名規則定義的接口
DefaultNamingStrategy:默認命名規則
ImprovedNamingStrategy
就是加下劃線
private String addUnderscores(String name) {
StringBuffer buf = new StringBuffer( name
for (int i=
'_'!=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