使用hibernate的好处通俗的将就是简化了操作数据库的繁琐性,使用数据库映射技术,我们可以通过操作对象来操作数据库中的数据.提高了我们的开发效率.
既然是分析源码,我们从什么地方入手了.我是这样想的.既然我们写程序的话,首先要获取hibernate.cfg.xml文件的路径位置.读取跟获取他需要用到Configure类的方法configure.
那么我们就从这个类开始入手.在源码中找到这个类中的configure方法
public Configuration configure() throws HibernateException {
configure( "/hibernate.cfg.xml" );
return this;
}
可以看到 当我们执行这个方法的时候 hibernate首先会从跟目录下的hibernate.cfg.xml下查找.
当然我们也可以自定义路径 他又几种重载的方法.
public Configuration configure(String resource) throws HibernateException {
log.info( "configuring from resource: " + resource );
InputStream stream = getConfigurationInputStream( resource );
return doConfigure( stream, resource );
}
public Configuration configure(URL url) throws HibernateException {
log.info( "configuring from url: " + url.toString() );
try {
return doConfigure( url.openStream(), url.toString() );
}
catch (IOException ioe) {
throw new HibernateException( "could not configure from URL: " + url, ioe );
}
}
public Configuration configure(File configFile) throws HibernateException {
log.info( "configuring from file: " + configFile.getName() );
try {
return doConfigure( new FileInputStream( configFile ), configFile.toString() );
}
catch (FileNotFoundException fnfe) {
throw new HibernateException( "could not find file: " + configFile, fnfe );
}
}