??xml version="1.0" encoding="utf-8" standalone="yes"?>
׃无法扑ֈ该文章的原创作?在此无法注明出处,请作者见?如有问题或R宛_您的利益,请与我联p?
?/span>Hibernate2.0.3Z
hibernate2.jar:
Hibernate的库Q没有什么可说的Q必M用的jar?/span>
cglib-asm.jar:
CGLIB库,Hibernate用它来实?/span>PO字节码的动态生成,非常核心的库Q必M用的jar?/span>
dom4j.jar:
dom4j是一?/span>Java?/span>XML APIQ类gjdomQ用来读?/span>XML文g的?/span>dom4j是一个非帔R怼U?/span>Java XML APIQ具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的YӞ可以?/span>SourceForge上找到它。在IBM developerWorks上面可以扑ֈ一文章,对主的Java XML APIq行的性能、功能和易用性的评测Q?/span>dom4j无论在那个方面都是非常出色的。我早在近两年之前开始?/span>dom4jQ直到现在。如今你可以看到来多?/span>Java软g都在使用dom4j来读?/span>XMLQ特别值得一提的是连Sun?/span>JAXM也在?/span>dom4j。这是必M用的jar包,Hibernate用它来读写配|文件?/span>
odmg.jar:
ODMG是一?/span>ORM的规范,Hibernate实现?/span>ODMG规范Q这是一个核心的库,必须使用?/span>jar包?/span>
commons-collections.jarQ?/span>
Apache Commons包中的一个,包含了一?/span>Apache开发的集合c,功能?/span>java.util.*强大。必M用的jar包?/span>
commons-beanutils.jarQ?/span>
Apache Commons包中的一个,包含了一?/span>Bean工具cȝ。必M用的jar包?/span>
commons-lang.jar:
Apache Commons包中的一个,包含了一些数据类型工LQ是java.lang.*的扩展。必M用的jar包?/span>
commons-logging.jar:
Apache Commons包中的一个,包含了日志功能,必须使用?/span>jar包?/span>
q个包本w包含了一?/span>Simple LoggerQ但是功能很弱?/span>
在运行的时候它会先?/span>CLASSPATH?/span>log4jQ如果有Q就使用log4jQ如果没有,找JDK1.4带的java.util.loggingQ如果也找不到就?/span>Simple Logger?/span>
commons-logging.jar的出现是一个历史的的遗留的遗憾Q当?/span>Apache极力游说Sun?/span>log4j加入JDK1.4Q然?/span>JDK1.4目组已经接近发布JDK1.4产品的时间了Q因此拒l了Apache的要求,使用自己?/span>java.util.loggingQ这个包的功能比log4j差的很远Q性能也一般。后?/span>Apache开发出来了commons-logging.jar用来兼容两个logger。因此用commons-logging.jar写的logE序Q底层的Logger是可以切换的Q你可以选择log4jQ?/span>java.util.logging或者它自带?/span>Simple Logger。不q我仍然强烈使用log4jQ因?/span>log4j性能很高Q?/span>log输出信息旉几乎{于System.outQ而处理一?/span>logq_只需?/span>5us。你可以?/span>Hibernate?/span>src目录下找?/span>Hibernate已经Z准备好了?/span>log4j的配|文Ӟ你只需要到Apache |站M?/span>log4j可以了?/span>commons-logging.jar也是必须?/span>jar包?/span> 使用Hibernate必须?/span>jar包就是以上的q几个,剩下的都是可选的?/span>
ant.jar:
Ant~译工具?/span>jar包,用来~译Hibernate源代码的。如果你不准备修改和~译Hibernate源代码,那么没有什么用Q可选的jar?/span>?/span>
optional.jarQ?/span>
Ant的一个辅助包?/span>
c3p0.jarQ?/span>
C3PO是一个数据库q接池,Hibernate可以配置Z?/span>C3POq接池。如果你准备用这个连接池Q就需要这?/span>jar包?/span>
proxool.jarQ?/span>
也是一个连接池Q同上?/span>
commons-pool.jar, commons-dbcp.jarQ?/span>
DBCP数据库连接池Q?/span>Apache?/span>Jakartal织开发的Q?/span>Tomcat4的连接池也是DBCP?/span>实际?/span>Hibernate自己也实C一个非帔R常简单的数据库连接池Q加上上?/span>3个,你实际上可以?/span>Hibernate上选择4U不同的数据库连接池Q选择哪一个看个h的偏好,不过DBCP可能更通用一些。另外强调一点,如果?/span>EJB中?/span>HibernateQ一定要?/span>App Server的连接池Q不要用以上4U连接池Q否则容器管理事务不起作用?/span>
connector.jarQ?/span>
JCA 规范Q如果你?/span>App Server上把Hibernate配置?/span>Connector的话Q就需要这?/span>jar。不q实际上一?/span>App Server肯定会带上这个包Q所以实际上是多余的包?/span>
jaas.jarQ?/span>
JAAS是用来进行权限验证的Q已l包含在JDK1.4里面了。所以实际上是多余的包?/span>
jcs.jarQ?/span>
如果你准备在Hibernate中?/span>JCS的话Q那么必d括它Q否则就不用?/span>
jdbc2_0-stdext.jarQ?/span>
JDBC2.0的扩展包Q一般来说数据库q接池会用上它。不q?/span>App Server都会带上Q所以也是多余的?/span>
jta.jarQ?/span>
JTA规范Q当Hibernate使用JTA的时候需要,不过App Server都会带上Q所以也是多余的?/span>
junit.jar:
Junit包,当你q行Hibernate自带的测试代码的时候需要,否则׃用?/span>
xalan.jar, xerces.jar, xml-apis.jar:
Xerces?/span>XML解析器,Xalan是格式化器,xml-apis实际上是JAXP。一?/span>App Server都会带上Q?/span>JDK1.4也包含了解析器,不过不是XercesQ是CrimsonQ效率比较差Q不q?/span>Hibernate?/span>XML只不q是d配置文gQ性能没什么紧要的Q所以也是多余的?/span>