Hibernate源代码分析之大纲
大致的源代码包
1.??????org.hibernate?:该包的类基本上都是接口类和异常类
2.??????org.hibernate.cache.*?:cache的实现类
3.??????org.hibernate.cfg.*?:配置文件读取类
4.??????org.hibernate.collection.*?:Hibernate集合接口实现类:例如List(PersistentList),Set(PersistentSet),?????????Bag(PersistentBag)等等,Hibernate之所以要自行编写集合接口实现类是为了支持延迟加载。
5.??????org.hibernate.connection.*?:几个数据库连接池的Provider
6.??????org.hibernate.dialect.* :支持多种数据库特性,每个Dialect实现类代表一种数据库,描述了该数据库支持的数据类型和其它特点,例如是否有AutoIncrement,是否有Sequence,是否有分页sql等等
7.??????org.hibernate.eg.*?:Hibernate文档中用到的例子
8.??????org.hibernate.engine.*?:这个包的类作用比较散
9.??????org.hibernate.hql.*?:HQL的实现org.hibernate.id.*?:ID生成器
10.????orghibernate.impl.*?:最核心的包,一些重要接口的实现类,如果Session,SessionFactory,Query等
11.????org.hibernate.jca.*?:JCA支持,把Session包装为支持JCA的接口实现类
12.????org.hibernate.jmx.*?:jmx的实现
13.????org.hibernate.loader.*?:也是很核心的包,主要是生成sql语句的
14.????org..hibernate.lob.*?:Blob和Clob支持
15.????org.hibernate.mapping.* :hbm文件的属性实现
16.????org.hibernate.metadata.*:PO的Meta实现
17.????org.hibernate.odmg.*:ODMG是一个ORM标准,这个包是ODMG标准的实现类
18.????org.hibernate.persister.*:核心包,实现持久对象和表之间的映射
19.????org.hibernate.proxy.*:Proxy和Lazy Loading支持
20.????org.hibernate.ps.*:该包是PreparedStatment Cache
21.????org.hibernate.sql.*:生成JDBC sql语句的包
22.????org.hibernate.test.*:测试类,你可以用junit来测试Hibernate
23.????org.hibernate.tool.hbm2ddl.*:用hbm配置文件生成DDL
24.????org.hibernate.transaction.*:Hibernate Transaction实现类
25.????org.hibernate.type.*:Hibernate中定义的持久对象的属性的数据类型
26.????org.hibernate.util.*:一些工具类,作用比较散
27.????org.hibernate.xml.*:XML数据绑定