1Configuration
如果不是annoation则可以使用Configuration configuration = Configuration;
使用annoation则可以使用Configuration configuration = AnnotationConfiguration;
2加载使用onfigurationconfigure思路方法根据思路方法参数可以有下几种加载方式:
(1) configure;
吃思路方法会去path下寻找我们配置文件
其实了configure( "/hibernate.cfg.xml" );也就是 configure(String resource);思路方法
(2) configure(String resource);
最常用方思路方法其实了doConfigure(InputStream stream, String resourceName);
介绍说明点内部代码:
ConfigHelper.getResourceAsStream( resource );
Java代码
String stripped = resource.startsWith("/") ?
resource.sub(1) : resource;
InputStream stream = null;
ClassLoader Loader = Thread.currentThread.getContextClassLoader;
(Loader!=null) {
stream = Loader.getResourceAsStream( stripped );
}
( stream null ) {
stream = Environment..getResourceAsStream( resource );
}
( stream null ) {
stream = Environment..getClassLoader.getResourceAsStream( stripped );
}
( stream null ) {
throw HibernateException( resource + " not found" );
}
stream;
第行高数我们"/hibernate.cfg.xml" 可以去掉前面“/”其中了Thread.currentThread.getContextClassLoader;般也就是我们AppClassLoader
由stream = Environment..getResourceAsStream( resource );可以看出我们"/hibernate.cfg.xml同样可以放在和和Environment同样目录具体到我们代码里面在使用(3)(4)(5)时可以放在加载 类包内或其他
(3) configure(URL url);
doConfigure( url.openStream, url.toString );(5)
(4) configure(File configFile);
doConfigure( FileInputStream( configFile ), configFile.toString );(5)
(5) doConfigure(InputStream stream, String resourceName);
使用dom4j解析文件为Document然后
xmlHelper.createSAXReader( resourceName, errors, entityResolver )
.read( InputSource( stream ) );
掉用
(6) configure(Document document);
在这个思路方法里会解析所有配置信息和mapping类或者hb文件
最新评论