`
lycjt
  • 浏览: 32785 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Hibernatej jar包详解

 
阅读更多
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只不过是读取配置文件,性能没什么紧要的,所以也是多余的。

分享到:
评论

相关推荐

    Eclipse jar打包详解

    Eclipse jar打包详解 Eclipse 是一个功能强大且广泛使用的集成开发环境(IDE),它提供了许多实用的功能来帮助开发者快速地开发、测试和调试应用程序。其中,Eclipse 的 jar 打包功能是开发者常用的一个功能,它...

    Java进阶学习jar打包详解

    Java进阶学习jar打包详解 Java进阶学习jar打包详解 Java进阶学习jar打包详解 Java进阶学习jar打包详解

    spring jar 包详解

    ### Spring Jar 包详解 #### 一、Spring Jar 包概览 Spring 是一个开源的 Java 开发框架,主要用于简化企业级应用的开发工作。它通过提供一系列的基础框架,使得开发者能够更容易地处理复杂的业务逻辑,并且提高了...

    JAR文件包及jar命令详解

    例如,如果主类位于`test`包下,名为`Test`,`MANIFEST.MF`的内容应为: ``` Main-Class: test.Test ``` 创建可执行JAR文件的命令通常是: ``` jar cvfm test.jar manifest.mf test/ ``` 这里的`cvfm`参数分别表示...

    JAR命令&JAR包详解.doc

    ### JAR命令与JAR包详解 #### 一、JAR包概述 JAR(Java ARchive)包是Java平台特有的一种压缩文件格式,主要用于将多个Java类文件和其他资源文件打包成一个单独的文件。它类似于常见的ZIP格式,但具有更高级的功能...

    spring2.0和spring2.5 及以上版本的jar包区别 spring jar 包详解

    ### Spring2.0与Spring2.5及以上版本的jar包区别及spring jar包详解 #### 概述 Spring框架作为一款流行的Java应用开发框架,在不同的版本之间,其提供的功能、性能以及兼容性等方面都有所差异。本文将重点介绍...

    spring框架各jar包详解

    Spring 框架各 jar 包详解 Spring 框架中有许多 jar 包,每个 jar 包都有其特定的作用和使用场景。了解每个 jar 包的作用和使用场景对于正确地使用 Spring 框架非常重要。本文将对 Spring 框架中常用的 jar 包进行...

    HttpClient及有关jar包详解

    HttpClient及有关jar包详解 HttpClient及有关jar包详解

    intellij idea 12导入外部jar包详解

    intellij idea 12导入外部jar包详解 Intellij Idea 12是一款功能强大且广泛应用的集成开发环境(IDE),它提供了许多便捷的功能来帮助开发者快速高效地开发和调试软件。其中,导入外部jar包是Intellij Idea 12中的...

    SSM基础jar包+详解

    在这个“SSM基础jar包+详解”中,我们将深入探讨这三个框架的核心组件和它们如何协同工作。 首先,Spring框架是整个SSM的核心,它是一个全面的企业级应用开发框架,提供了依赖注入(DI)和面向切面编程(AOP)等...

    springmvc,mybaitis json jar包

    springmvc,mybaitis json jar包Spring各jar包详解spring.jar 是包含有完整发布模块的单个jar 包。但是不包括mock.jar,aspects.jar, spring-portlet.jar, and spring-hibernate2.jar。 spring-src.zip就是所有的源...

    JAR包的详解(推荐)

    总结起来,JAR包是Java开发中不可或缺的一部分,它们包含了各种库和框架所需的组件,以实现特定功能。理解每个JAR包的作用有助于优化项目结构、减少依赖冲突,并提升应用的性能和稳定性。在开发Java EE应用时,根据...

    jar包 jar包jar包 jar包jar包jar包jar包jar包jar包

    jar包 jar包jar包 jar包jar包jar包jar包jar包jar包jar包 jar包jar包 jar包jar包jar包jar包jar包jar包jar包 jar包jar包 jar包jar包jar包jar包jar包jar包

    常用工具jar包详解

    常用工具jar包详解 ,包括apache的 common 包,有源码

    制作可执行的JAR文件包及jar命令详解.doc

    制作可执行的JAR文件包及jar命令详解 Java Archives(JAR)文件是一种Java特有的文档格式,类似于ZIP文件,但包含了一个META-INF/MANIFEST.MF文件,该文件是在生成JAR文件时自动创建的。JAR文件可以包含Java类、...

    JAR文件包及jar命令详解.CHM

    JAR文件包及jar命令详解.CHM <br> JAR文件包及jar命令详解 常常在网上看到有人询问:如何把 java 程序编译成 .exe 文件。通常回答只有两种,一种是制作一个可执行的 JAR 文件包,然后就可以像.chm 文档一样...

    Spring jar 包详解

    spring.jar是包含有完整发布的单个jar包,spring.jar中包含除了 spring-mock.jar里所包含的内容外其它所有jar包的内容,因为只有在开发环境下才会用到spring-mock.jar来进行辅助测试,正式应用系统中是用不得这些类...

    spring 11jar 包详解.docx

    。。spring 11jar 包详解.docx

Global site tag (gtag.js) - Google Analytics