基于hibernate的das实现研究(1)
来源:互联网 发布:焊接软件sysewld 编辑:程序博客网 时间:2024/05/16 07:23
按公司的计划基于hibernate实现了das,这里写的系列blog 当然是不能写DAS实现过程的,那是公司机密。
本系列blog主要是对hibernate的实现原理做一个分析,这个对以后工作中的回忆和新功能实现是非常有用的。
本文主要分析hibernate的sessionFactory的build过程。
1)new Configure().buildSessionFactory();
Configuration.java 要做的事情就是 读出 mapping配置(.hbm.xml) 和 setting配置(.cfg.xml)
2) SessionFactoryImpl.java
要做的事情就是 设置identifierGeneration/ Named Query/ cache strategy。然后最主要的,就是
构造一个 EntityPersister。
3)org.hibernate.persister.entity.AbstractEntityPersister(请f4查看这个类的type hierarchy!)
GavinKing对这个类写的说明是: Basic functionality for persisting an entity via JDBC
through either generated or custom SQL。 在Class方面,它实现了ClassMetaData接口,在对象方面,
它有一个EntityMetaModel属性。 类元数据/实体元模型 ,两大meta都在这个类中,可以明白这个基本是
Hibernate 最重要的一个文件。它的425行有这样一段:
this.entityMetamodel = new EntityMetamodel( persistentClass, factory );
4)EntityMetaModel.java的基本所有的 元模型都是用persistentclass来获得的。另外它还持有一个属性:
tuplizerMapping。tuplizerMapping是一个map,包括了从 EntityMode到tuplizer的 mapping。
tuplizerMapping是实现DAS功能的最主要的扩展点。
- 基于hibernate的das实现研究(1)
- 基于hibernate的das实现研究(1)
- 基于hibernate的das实现研究(1)
- 基于hibernate的das实现研究(2)
- 基于hibernate的das实现研究(3)
- 基于hibernate的das实现研究(4)
- 基于hibernate的das实现研究(4)
- 基于hibernate的das实现研究(3)
- 基于hibernate的das实现研究(2)
- 基于hibernate的das实现研究(4)
- 基于hibernate的das实现研究(3)
- 基于hibernate的das实现研究(2)
- SDO/DAS研究(1): SDO规范
- 基于分库分表的Hibernate实现
- 基于hibernate缓存机制的查询性能优化研究
- 基于hibernate缓存机制的查询性能优化研究
- 基于Spring+Hibernate+DAO的hibernate的lazy的实现.
- 基于反射的Swing+Hibernate实现
- 个人单机数据库、联网数据库
- C#中using的使用
- 23种设计模式幽默见解
- BIOS关于获取内存信息的调用
- 表格监听器
- 基于hibernate的das实现研究(1)
- 讨论:如何带领好新的员工?
- 判断conime.exe是不是病毒!
- xp cmd大全
- 通用的数据导入导出程序DTS
- *起点BlogcsdnBlog起点*
- 网页技巧
- 最牛的IEFirefox浏览器
- 如何使用JavaScript进行可靠的继承调用