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

详解Hibernate2.0包作用

阅读更多

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 642-964 源代码的。如果你不准备修改和编译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只不过是读取配置文件,性能没什么紧要的,所以也是多余的。

分享到:
评论

相关推荐

    Struts1.2+Spring1.2+Hibernate2.0搭建详解

    直白来说,Struts用于页面显示,Spring控制流程,Hibernate连接数据库。 下面说一下配置顺序: 一.新建WEB工程。 二.导入Struts1.2。 三.导入Spring。

    hibernate参考手册

    hibernate2.0-中文参考手册.pdf 精通Hibernate-Java对象持久化技术详解.pdf

    struts1.2+spring2.0+hibernate3.1集成开发详解

    图文并茂详解SSH框架集成开发步骤。使用oracle数据库和myeclipse实现查询所有雇员功能。同时解析延迟机制的处理。

    spring2.0.PDF;精通hibernate.pdf

    spring,精通Hibernate:Java对象持久化技术详解

    jsp应用开发详解.part1

    jsp应用开发详解.part1 因为上传文件大小受限part2请到我的资源下载 作者:作者:刘晓华//张健//周慧贞 译者:作者:刘晓华//张健//周慧贞 出版社:电子工业出版社 本书结合JSP和Servlet的最新规范,从基本的...

    jsp应用开发详解 刘晓华

    jsp应用开发详解.part2 因为上传文件大小受限part1请到我的资源下载 作者:作者:刘晓华//张健//周慧贞 译者:作者:刘晓华//张健//周慧贞 出版社:电子工业出版社 本书结合JSP和Servlet的最新规范,从基本的...

    Spring 2.0 开发参考手册

    3.3.3. bean属性及构造器参数详解 3.3.4. 使用depends-on 3.3.5. 延迟初始化bean 3.3.6. 自动装配(autowire)协作者 3.3.7. 依赖检查 3.3.8. 方法注入 3.4. bean的作用域 3.4.1. Singleton作用域 3.4.2. ...

    Hibernate3+Spring3+struts2的chm文档

    本压缩包包含Hibernate中文参考文档 V3.2.chm,JPA注解参考.chm,Spring2.5-中文参考手册.chm,struts2.0中文帮助手册.chm,struts2标签详解.chm等SSH学习中使用的帮助文档,希望对大家有所帮助。

    Spring 2.5 jar 所有开发包及完整文档及项目开发实例

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

    J2EE应用开发详解

    313 17.6 常用的JPA注释 316 17.7 小结 318 第18章 Hibernate 319 18.1 Hibernate体系结构 319 18.2 Hibernate核心接口 321 18.3 一个简单的Hibernate例子 321 18.4 详解Hibernate配置文件 325 18.4.1 Hibernate的两...

    JSP应用开发详解

    以精简的内容介绍了JSP的语法、Servlet技术、JDBC技术、标签库技术、表达式语言、Struts、JavaServerFace、SpringMVC、Hibernate、Ajax等技术;对于JSP开发中常遇到的典型难点,专门设置了专题进行集中讨论。对于...

    jsp应用开发详解

    以精简的内容介绍了JSP的语法、Servlet技术、JDBC技术、标签库技术、表达式语言、Struts、JavaServerFace、SpringMVC、Hibernate、Ajax等技术;对于JSP开发中常遇到的典型难点,专门设置了专题进行集中讨论。对于...

    struts2的json插件配置详解(附demo)

    1. 下载json插件包,将jar包拷贝到WEB-INF/lib目录 注:struts2的json插件有两个版本0.32和0.34,我用的struts2的版本是2.0.11,在加入0.34版本json插件时启动发生异常,提示找不到相关方法,后来就换成了低版本的...

    JSP应用开发详解.rar

    以精简的内容介绍了JSP的语法、Servlet技术、JDBC技术、标签库技术、表达式语言、Struts、JavaServer Face、Spring MVC、Hibernate、Ajax等技术;对于JSP开发中常遇到的典型难点,专门设置了专题进行集中讨论。对于...

    java文集

    -采集 (多个文件夹) The Agile Way hibernate mapping文件中的标记详解:关系标记 ANT 安装使用及build.xml文档模板 inverse和cascade在关联更新中的作用 hibernate mapping文件中的标记详解:...

    Java Web应用详解.张丽(带详细书签).pdf

    10.3 JavaBean 的作用域 10.4 JSP+JavaBean 的应用 10.5 网络留言板V5.0 系统框架篇 第11章 Stmts框架及其应用 11.1 Struts 基础知识 11.2 Struts 应用步骤 11.3 Struts 开发中的中文乱码问题 11.4 Action ...

    大型门户网站是这样炼成的 源码下载

    第2章 MVC混血宠儿Struts2.0 第3章 Struts2标签库详解与AJAX技术应用 第4章 ORM中间件名流Hibernate3接管持久层 第5章 Hibernate3持久化技术实践与性能优化 第6章 充分利用Spring2的IOC利器统管Bean世界 第8章 通用...

    JSP应用开发详解第三版 源代码

    以精简的内容介绍了JSP的语法、Servlet技术、JDBC技术、标签库技术、表达式语言、Struts、JavaServer Face、Spring MVC、Hibernate、Ajax等技术;对于JSP开发中常遇到的典型难点,专门设置了专题进行集中讨论。对于...

    Java Web开发从初学到精通随书光盘源码

    内容简介 《Java Web开发从初学到精通》介绍如何整合Web框架进行J2EE开发,所有实例都基于MyEclipse IDE开发,引领读者快速进入...Hibernate详解 Spring应用 Ajax入门与实战 应用Struts2+Hibemate 的论坛系统 JSF入门

    高级Java软件架构师学习计划

    Struts2.0 Web Service和SOA架构 统一建模语言UML、JUDE 设计工具、Class 类图、类之间关系设计、CMMI 标准过程管理、CMMI 标准过程管理、CVS版本控制工具 Junit测试框架介绍 JavaME相关技术手机游戏开发 建模语言...

Global site tag (gtag.js) - Google Analytics