疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

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 数据绑定