一 Configuration类 之 2_addClass
cfg.addClass(User.class);( Configuration)
public Configuration addClass(Class persistentClass) throws MappingException {
/** 利用类名称把类的.装换为/然后拼接.hbm.xml这样要求你的配置文件必须和类
* 在一个目录下且名称相同.
*/
String mappingResourceName = persistentClass.getName().replace( '.', '/' ) + ".hbm.xml";
//记录日志
log.info( "Reading mappings from resource: " + mappingResourceName );
return addResource( mappingResourceName, persistentClass.getClassLoader() );
}
---> addClass(Class):转换类名,然后跳转到addResource(String,ClassLoader)
--->addResource(String,ClassLoader):得到类的配置(比如说:User.hbm.xml)的输入流,然后跳转到addInputStream(InputStream)
---> addInputStream(InputStream):用 XML帮助类 解释传入来的流,解释成org.dom4j.Document的形式,然后跳转到add(org.dom4j.Document)
---> add(org.dom4j.Document):把传入的Document对象交给
HbmBinder.bindRoot()处理,
HbmBinder类:hbm.xml的捆绑类。产生hbm.xml对应的属性和对应的资源的捆绑。