1,
Collections.unmodifiableMap( new HashMap(0) );
看到了这样的语句,不知道个unmodifiableMap在实际中有什么用?
是说整个执行过程中,某一个变量所指向的Instance没有是不可modifiable的吧?而不是这个Map中的具体内容.
这样再结合应用的上下文就通了.
2,Hibernate中有个SecondPass的概念,这个是干啥用的?
看源码时,它的实现类中有这样的关系:
接口SecondPass有两个直接实现类:
CollectionSecondPass和ManyToOneSecondPass,另还有一个继承于此接口的子接口QuerySecondPass
CollectionSecondPass在HbmBinder类中又定义了一个static的类名为HbmBinder.CollectionSecondPass, 这个静态类在HbmBinder中又分别有三个子类(也是静态的)它们是IdentifierCollectionSecondPass,ListSecondPass,MapSecondPass.
ManyToOneSecondPass这个类也是静态的,它也是在HbmBinder类中定义的内部类.
QuerySecondPass接口有两个实现类ResultSetMappingSecondPass和 NamedSQLQuerySecondPass,这两个类都ResultSetMappingBinder的子类.
3,Hibernate N步曲:
1>,new Configuration(): 找hibernate.properties文件,初始化所有Listeners,classes,imports,secondPasses....
2>,configure(): 找到hibernate.hbm.xml文件,将其中的元素解析出来放到Configuration类中的相应的properties里,据cfg.xml文件中指定的hbm.xml名称找到并解析XXX.hbm.xml文件,将配置放到Configuration类中相应的属性中,如classes,imports,collections,tables,sqlFunctions,namedQueries....
3>,buildSessionFactory:据第二步中生成的Configurations类中的相应属性生成CRUD相关的Sql语句,identifierGenerators,entityPersisters,collectionPersisters... 这一步是Mapping路上实质性的一步.
4>,有了第三步的准备,就可以调用Session接口中面向对象的CRUD操作了.
分享到:
相关推荐
hibernate源码
传智播客hibernate源码 传智播客hibernate源码
hibernate hibernate源码 官方源码
Hibernate源码
hibernate源码分析一[启动过程]hibernate源码分析一[启动过程]hibernate源码分析一[启动过程]hibernate源码分析一[启动过程]hibernate源码分析一[启动过程]hibernate源码分析一[启动过程]
Hibernate源码(hibernate-orm-main.zip)Source Code: Hibernate ORM 是一个为应用程序、库和框架提供对象/关系映射 (ORM) 支持的库。 它还提供了 JPA 规范的实现,这是 ORM 的标准 Java 规范。
精通Hibernate源码.rar
hibernate 源码直接导入Eclipse
把hibernate的所有使用都有 包括一对一 一对多 和多对多 直接使用
Hibernate是一种Java语言下的对象关系映射解决方案。 它是使用GNU宽通用公共许可证发行的自由、开源的软件。它为面向对象的领域模型到传统的关系型数据库的映射,提供了一个使用方便的框架。Hibernate也是目前Java...
三种查询方式跟踪Hibernate源码 学习源码必备
传智播客李勇hibernate源码1-20课,目录如下:01_hibernate介绍与动手入门体验;02_hibernate入门案例的细节分析; 03_hibernate入门案例的代码优化; 04_Session接口及get|load|persist方法 05_实体对象的三种状态...
Hibernate源码分析文档,解析Hibernate执行流程
精通hibernate源码chapter5 java对象持久化技术详解
hibernate-release-4.1.4.Final源码,是学习和使用hibernate的好资源,领略大师的编码规则,掌握高超的编码技术,值得学习!hibernate开发人员必备资料!
hibernate tools源码运行修改需要的jar 源码下载地址是http://anonsvn.jboss.org/repos/hibernate/tags/TOOLS_3_2_4_GA/