hibernate学习笔记(一)

由于工作不需要用到hibernate,工作5年了还不懂hibernate,现在开始学了。。
先运行了几个例子,看了下源代码,现在开始把包的功能介绍下,完全是自己的想法: 
(一)net.sf.hibernate.cfg包                  

     该包主要是配置hibernate各种环境参数用的

Environment                            

        保存全局的hibernate常量,非常简单

Configuration                            

        配置解析hibernate.cfg.xml入口文件,并解析*.hbm.xml,将解析完的所有配置信息分类保存在自己的实例变量中  注意不是静态全局变量,所以一个系统允许配置多个Configuration实例.

Binder

        供Configuration调用,配置解析*.hbm.xml文件

DefaultNamingStrategy

        命名转换策略,Configuration默认使用此策略,用户可以扩展置自定义的转化策略

ImprovedNamingStrategy

        增强型命令转换策略,hibernate提供的一个实现,不是默认的实现方式

Mappings

        Configuration封装解析hibernate.cfg.xml中的mapping元素所需要的所有参数。

Settings

        封装方言Dialect的各种参数

SettingsFactory

        创建并组装Settings

 

(二)net.sf.hibernate.connection包: 

       统一提供数据库连接 

 

(三)net.sf.hibernate.dialect包

   管理各种数据库方言,目的无非就是将各种数据库的共性和特性分隔开来。hibernate根据用户选择方言中配置信息来构建具体的SQL,从而使hibernate有跨数据库的能力

 Dialect

 所有各中具体数据库dialect的父类和工厂,提供统一的Dialect接口,一些公共方法的实现,hibernate只会和Dialect交互,不会和具体Dialect交互。

 

(四)net.sf.hibernate.engine

   engine即"引擎",可见这个包管理的类是非常重要的。这些类/接口是hibernate的最低层的核心引擎。

 

(五)net.sf.hibernate.exception

   从包名可以看出其作用是管理hibernate所用的所有exception的封装类

 

(六)net.sf.hibernate.expression

   对hpl表达式解析的类

 

(七)net.sf.hibernate.hql

   专门准对hql封装的类

 

(八)net.sf.hibernate.id

    管理这种hibernate的UID生成实现的类

 

(九)net.sf.hibernate.impl

    管理hibernate主要功能的实现类

 

(十)net.sf.hibernate.proxy

   管理代理功能涉及到的类

 

(十一)net.sf.hibernate.transaction

  管理事务涉及到的类

 

(十二)net.sf.hibernate.type

  管理hibernate支持的映射类型

 

(十三)net.sf.hibernate.util

  管理hibernate所有的工具类

 

(十四)net.sf.hibernate.loader

管理 加载数据库用的类,类框图如下

 

 

(十五)net.sf.hibernate.mapping

管理 配置文件的映射信息的类 

 

 

  

  

           

 

 

 

你可能感兴趣的:(sql,.net,Hibernate,xml,配置管理)