首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

hibernate学习笔记(1)

2013-11-09 
hibernate学习笔记(一)由于工作不需要用到hibernate,工作5年了还不懂hibernate,现在开始学了。。先运行了几

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

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

?

?

??

??

???????????

?

?

?

热点排行