`

Hibernate(2.0.3稳定版)包作用祥解

阅读更多

Hibernate一共包括了23个jar包,令人眼花缭乱。本文将详细讲解Hibernate每个jar包的作用,便于你在应用中根据自己的需要进行取舍。

下载Hibernate,例如2.0.3稳定版本,解压缩,可以看到一个hibernate2.jar和lib目录下有22个jar包:

hibernate2.jar:

Hibernate的库,没有什么可说的,必须使用的jar包

cglib-asm.jar:

CGLIB库,Hibernate用它来实现PO字节码的动态生成,非常核心的库,必须使用的jar包

dom4j.jar:

dom4j 是一个Java的XML API,类似于jdom,用来读写XML文件的。dom4j是一个非常非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件,可以在SourceForge上找到它。在IBM developerWorks上面可以找到一篇文章,对主流的Java XML API进行的性能、功能和易用性的评测,dom4j无论在那个方面都是非常出色的。我早在将近两年之前就开始使用dom4j,直到现在。如今你可以看到越来越多的Java软件都在使用dom4j来读写XML,特别值得一提的是连Sun的JAXM也在用dom4j。这是必须使用的jar包, Hibernate用它来读写配置文件。

odmg.jar:

ODMG是一个ORM的规范,Hibernate实现了ODMG规范,这是一个核心的库,必须使用的jar包。

commons-collections.jar:

Apache Commons包中的一个,包含了一些Apache开发的集合类,功能比java.util.*强大。必须使用的jar包。

commons-beanutils.jar:

Apache Commons包中的一个,包含了一些Bean工具类类。必须使用的jar包。

commons-lang.jar:

Apache Commons包中的一个,包含了一些数据类型工具类,是java.lang.*的扩展。必须使用的jar包。

commons-logging.jar:

Apache Commons包中的一个,包含了日志功能,必须使用的jar包。这个包本身包含了一个Simple Logger,但是功能很弱。在运行的时候它会先在CLASSPATH找log4j,如果有,就使用log4j,如果没有,就找JDK1.4带的 java.util.logging,如果也找不到就用Simple Logger。commons-logging.jar的出现是一个历史的的遗留的遗憾,当初Apache极力游说Sun把log4j加入JDK1.4,然而JDK1.4项目小组已经接近发布JDK1.4产品的时间了,因此拒绝了Apache的要求,使用自己的java.util.logging,这个包的功能比log4j差的很远,性能也一般。后来Apache就开发出来了commons-logging.jar用来兼容两个logger。因此用 commons-logging.jar写的log程序,底层的Logger是可以切换的,你可以选择log4j,java.util.logging或者它自带的Simple Logger。不过我仍然强烈建议使用log4j,因为log4j性能很高,log输出信息时间几乎等于System.out,而处理一条log平均只需要5us。你可以在Hibernate的src目录下找到Hibernate已经为你准备好了的log4j的配置文件,你只需要到Apache 网站去下载log4j就可以了。commons-logging.jar也是必须的jar包。

使用Hibernate必须的jar包就是以上的这几个,剩下的都是可选的。

 

ant.jar:

Ant编译工具的jar包,用来编译Hibernate源代码的。如果你不准备修改和编译Hibernate源代码,那么就没有什么用,可选的jar包

optional.jar:

Ant的一个辅助包。

 

c3p0.jar:

C3PO是一个数据库连接池,Hibernate可以配置为使用C3PO连接池。如果你准备用这个连接池,就需要这个jar包。

proxool.jar:

也是一个连接池,同上。

commons-pool.jar, commons-dbcp.jar:

DBCP数据库连接池,Apache的Jakarta组织开发的,Tomcat4的连接池也是DBCP。

实际上Hibernate自己也实现了一个非常非常简单的数据库连接池,加上上面3个,你实际上可以在Hibernate上选择4种不同的数据库连接池,选择哪一个看个人的偏好,不过DBCP可能更通用一些。另外强调一点,如果在EJB中使用Hibernate,一定要用App Server的连接池,不要用以上4种连接池,否则容器管理事务不起作用。


connector.jar:

JCA 规范,如果你在App Server上把Hibernate配置为Connector的话,就需要这个jar。不过实际上一般App Server肯定会带上这个包,所以实际上是多余的包。

jaas.jar:

JAAS是用来进行权限验证的,已经包含在JDK1.4里面了。所以实际上是多余的包。

jcs.jar:

如果你准备在Hibernate中使用JCS的话,那么必须包括它,否则就不用。

jdbc2_0-stdext.jar:

JDBC2.0的扩展包,一般来说数据库连接池会用上它。不过App Server都会带上,所以也是多余的。

jta.jar:

JTA规范,当Hibernate使用JTA的时候需要,不过App Server都会带上,所以也是多余的。

junit.jar:

Junit包,当你运行Hibernate自带的测试代码的时候需要,否则就不用。

xalan.jar, xerces.jar, xml-apis.jar:

Xerces 是XML解析器,Xalan是格式化器,xml-apis实际上是JAXP。一般App Server都会带上,JDK1.4也包含了解析器,不过不是Xerces,是Crimson,效率比较差,不过Hibernate用XML只不过是读取配置文件,性能没什么紧要的,所以也是多余的。

分享到:
评论

相关推荐

    Hibernate2.0.3 jar

    Hibernate 2.0.3 是一个历史悠久的Java对象关系映射(ORM)框架版本,它在当时极大地简化了Java开发者与数据库之间的交互。ORM框架允许程序员以面向对象的方式来操作数据库,而无需直接编写SQL语句,提高了开发效率...

    Hibernate包作用详解

    下载Hibernate,例如2.0.3稳定版本,解压缩,可以看到一个hibernate2.jar和lib目录下有22个jar包: hibernate2.jar: Hibernate的库,没有什么可说的,必须使用的jar包 cglib-asm.jar: CGLIB库,Hibernate用它来实现...

    nacos-server-2.0.3 win版zip + linux版本

    Linux 版本更适合部署在生产环境中,因为它通常提供更高的稳定性和性能。 Nacos 2.0.3 版本包含了以下关键特性: 1. **服务注册与发现**:Nacos 可以作为服务注册中心,服务提供者可以将自身服务注册到 Nacos,而...

    包含1.4.1 和 2.0.3 版本nacos

    在这个压缩包中,包含了 Nacos 的两个主要版本:1.4.1 和 2.0.3。 首先,我们来看 Nacos 1.4.1 版本。这个版本在发布时可能已经提供了稳定的服务注册与发现、动态配置、健康检查等功能。1.4.x 系列可能针对性能、...

    阿里巴巴 nacos 稳定版2.0.3

    《阿里巴巴Nacos稳定版2.0.3:深入解析与应用指南》 Nacos,全称为Naming and Configuration Service,是阿里巴巴开源的一款分布式服务治理和配置中心。2.0.3作为其稳定版本,为开发者提供了更为可靠的服务发现、...

    dom4j-2.0.3 jar包+javadoc包+sources包

    dom4j-2.0.3 jar包+javadoc包+sources包 dom4j-2.0.3 XML Document Object Model based on Java Collections Framework Java 5+ Generics support Released on April 11, 2020 从这个网址https://dom4j.github.io/...

    nacos2.0.3安装包下载(github原装包)

    Nacos 2.0.3是其在2021年发布的一个稳定版本,提供了许多增强的功能和性能优化。 在安装Nacos 2.0.3之前,你需要了解以下关键知识点: 1. **Java环境**:Nacos是基于Java开发的,因此在你的系统上必须先安装JDK,...

    python-pandas-2.0.3及其依赖包+sqlalchemy-2.0.30及其依赖包+pymysql-1.1.0

    那么我们就要使用离线安装的方式进行安装了,这里提供了pandas-2.0.3-cp38-cp38-win_amd64.whl、python_dateutil-2.9.0.post0-py2.py3-none-any.whl、pytz-2024.1-py2.py3-none-any.whl、PyMySQL-1.1.0-py3-none-any...

    socket-2.0.3资源包

    这个“socket-2.0.3”资源包是Socket.IO库的一个版本,针对的是JavaScript环境,特别适用于前端开发。在这个版本中,主要包含了一个名为“socket-2.0.3.io.js”的文件。 首先,让我们深入了解一下Socket.IO的核心...

    CASS_3D基础版V2.0.3安装包

    CASS_3D 旗舰版&基础版 V2.0.3 更新说明 2020/12/23 1. 修复绘制过程中途按 ESC 键退出后,再进行绘制时会多出一条白线的问题。 2. 修复直角或直线绘图方式时,使用捕捉最近点快捷键会造成极小的精度误差问 题。 3. ...

    Nacos-2.0.3.zip

    Nacos 2.0.3是该框架的一个稳定版本,它包含了对先前版本的改进和新特性。 在微服务架构中,Nacos作为配置中心,它的核心功能包括: 1. **配置管理**:Nacos允许开发者集中存储、管理和分发应用的配置,使得配置...

    Python-pandas-2.0.3版本whl安装文件及依赖文件

    那么我们就要使用离线安装的方式进行安装了,这里提供了pandas-2.0.3-cp38-cp38-win_amd64.whl、python_dateutil-2.9.0.post0-py2.py3-none-any.whl、pytz-2024.1-py2.py3-none-any.whl这些依赖包,已经在本地安装...

    nacos-server2.0.3资源包分享

    在2.0.3版本中,它提供了更稳定、高效的特性,为开发者带来了更加便捷的微服务管理和配置中心的体验。 **服务发现** Nacos作为服务注册与发现的中间件,允许应用程序动态地查找和使用其他服务。服务提供者在启动时...

    jquery-2.0.3 压缩版+非压缩版

    jquery-2.0.3 压缩版+非压缩版(不支持ie6,7,8),另附压缩包引用地址: 百度压缩版引用地址: <script src="http://libs.baidu.com/jquery/2.0.3/jquery.min.js"> 微软压缩版引用地址: ...

    dnsjava-2.0.3.jar包

    heritrix3项目爬虫中所使用到的一个依赖包,dnsjava-2.0.3.jar包,有需要的朋友们,赶紧下载吧, 本人亲测过. 有积分的猿友们,赏个积分,没积分的,关注博主,私信发.

    LatencyUtils-2.0.3-API文档-中文版.zip

    赠送jar包:LatencyUtils-2.0.3.jar; 赠送原API文档:LatencyUtils-2.0.3-javadoc.jar; 赠送源代码:LatencyUtils-2.0.3-sources.jar; 赠送Maven依赖信息文件:LatencyUtils-2.0.3.pom; 包含翻译后的API文档:...

    nacos2.0.3版本

    总之,Nacos 2.0.3版本在Linux环境下提供了稳定的服务治理和配置管理能力,它的易用性、灵活性和强大的功能使其成为微服务架构中不可或缺的一部分。正确地安装、配置和使用Nacos,能极大地提升开发效率和系统稳定性...

    VisualSVN-2.0.3破解版

    VisualSVN-2.0.3破解版

    nacos-server(2.0.3)版本的linux win.zip

    Nacos 2.0.3是该系统的一个稳定版本,针对Linux和Windows操作系统都有相应的支持。在下载和使用nacos-server-2.0.3时,如果从Git仓库下载速度较慢,可以考虑使用提供的"nacos-server(2.0.3)版本的linux win.zip...

    KesionIxam 在线v2.0.3 正式版 txt

    KesionIxam 在线v2.0.3 正式版 KesionIxam 在线v2.0.3 正式版

Global site tag (gtag.js) - Google Analytics